Entwickler-Ecke

Multimedia / Grafik - Farbe eines Pixels auf dem Bildschirm bestimmen ?


Nilsener - So 05.10.03 19:18
Titel: Farbe eines Pixels auf dem Bildschirm bestimmen ?
Hallo, ist es möglich die Farbe eines Pixels irgendwo auf dem Bildschirm zu bestimmen, auch wenn es ausserhalb des eingenen Progs liegt ? Also eine Function, der man die x,y Koordinate übergibt und die dann die Farbe zurückliefert ?
Oder kann man irgendwie die entsprechenden Register der Grafikkarte auslesen ?

Gruss Nils


Keldorn - Mo 06.10.03 08:54

Pixel vom Desktop holen

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Button1Click(Sender: TObject);
Var dc:hdc;
begin
  dc:=getdc(0);
  label1.Color := GetPixel(dc,10,10);
  releaseDC(0,dc);
end;

großartig sicher bin ich mir da aber nicht ;)

Mfg Frank


Nilsener - Mo 06.10.03 17:11

Danke, das funktioniert. Es wäre noch interessant, wie man die aktuelle Bildschirmauflösung ermittelt, damit man nicht ein Pixel ausserhalb des Bildschirms einliest.
Und wo ist eigentlich die Koordinate 0,0 unten links, oben links ... ?

Danke für die Hilfe, Gruss Nils


maximus - Mo 06.10.03 17:15

Canvas.ClientRect :wink:

::edit:: falscher thread...immer diese gleichen threads. nix für ungut


Tino - Di 07.10.03 09:28

@Nilsener: Crosspostings sind hier nicht erwünscht. Hier der entsprechende Absatz aus den Richtlinien:
§§ Richtlinien §§ hat folgendes geschrieben:
1.3 "Vordrängeln"
[...]Beispielsweise haben Benutzer absichtlich in eine falsche Sparte oder unter einem falschen Beitrag ihre Frage gepostet bzw. ein und dieselbe Frage mehrfach gepostet, um so eine größere Leserschaft zu erreichen. Wir bitten Dich eindringlichst, von einer solchen Vorgehensweise Abstand zu nehmen. Zum einen handelst Du Dir mit an Sicherheit grenzender Wahrscheinlichkeit den einen oder anderen Tadel anderer User ein, zum anderen ist es schlicht unfair den anderen Mitgliedern gegenüber, welche auf Übersichtlichkeit bedacht sind.

Topic wird deshalb geschlossen. Hier [http://www.delphi-forum.de/viewtopic.php?t=17134] gehts weiter.

Gruß
Tino