AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Farbe von Bildschirminhalt ermitteln ?
Thema durchsuchen
Ansicht
Themen-Optionen

Farbe von Bildschirminhalt ermitteln ?

Ein Thema von Blamaster · begonnen am 1. Jul 2009 · letzter Beitrag vom 19. Jul 2009
Antwort Antwort
Blamaster

Registriert seit: 20. Jul 2007
230 Beiträge
 
#1

Re: Farbe von Bildschirminhalt ermitteln ?

  Alt 2. Jul 2009, 13:44
Hi,

ich habe gerade mal testweise etwas zusammengeschustert.

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
  Color: TColor;
  x, y, i, high_r, high_g, high_b, end_r, end_g, end_b: integer;
  ColorArray: array[0..2, 0..255] of cardinal;
begin

  for y := 200 to 210 do
  begin
    for x := 200 to 210 do
    begin
      Color := GetDesktopColor(x, y);
      inc(ColorArray[0, GetRValue(Color)]);
      inc(ColorArray[1, GetGValue(Color)]);
      inc(ColorArray[2, GetBValue(Color)]);
    end;
  end;

  for i := 0 to 255 do
  begin
    if ColorArray[0, i] > high_r then
    begin
      high_r := ColorArray[0, i];
      end_r := i;
    end;
    if ColorArray[1, i] > high_g then
    begin
      high_g := ColorArray[1, i];
      end_g := i;
    end;
    if ColorArray[2, i] > high_b then
    begin
      high_b := ColorArray[2, i];
      end_b := i;
    end;
  end;

  ShowMessage(IntToStr(end_r));
  ShowMessage(IntToStr(end_g));
  ShowMessage(IntToStr(end_b));

  JvPanel2.Color := RGB(end_r, end_g, end_b);
end;
Da kommen dann bei den 3 ShowMessage flasche Werte raus. Beispiel Hintergrund vom Desktop komplett rot gestellt. Nun kommen bei GetDesktopColor(x, y); auch das richtige raus, wenn ich mir die Farbe anzeigen lasse 255,0,0. Wenn das Programm nun allerdings zu

ShowMessage(IntToStr(end_r));
ShowMessage(IntToStr(end_g));
ShowMessage(IntToStr(end_b));

kommt, dann bekomme ich da bei Rot 251,213,253. Habe ich da etwas übersehen ?

mfg Yannic
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz