AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pixelfarbe abfragen mit Delphi

Ein Thema von LeCorno · begonnen am 27. Nov 2003 · letzter Beitrag vom 28. Nov 2003
Antwort Antwort
Seite 1 von 2  1 2      
LeCorno

Registriert seit: 27. Nov 2003
Ort: Frankfurt/Main
7 Beiträge
 
Delphi 7 Enterprise
 
#1

Pixelfarbe abfragen mit Delphi

  Alt 27. Nov 2003, 13:18
Hallo,
wie kann ich die Farbe eines auf dem Bildschirm sichtbaren Pixels, von dem ich die Koordinaten weiss, abfragen?

Ich will einen bestimmten Bildschirmbereich auf Farbänderungen überwachen, das Delphi Programm soll dabei im Hintergrund laufen.

Habt ihr ne Idee?

Danke für eure Hilfe

Gruß,
Corny
  Mit Zitat antworten Zitat
Kamil

Registriert seit: 16. Aug 2002
178 Beiträge
 
#2

Re: Pixelfarbe abfragen mit Delphi

  Alt 27. Nov 2003, 15:23
Vielleicht so:
Delphi-Quellcode:
function GetPixel(Pos: TPoint): TColor;
var
  DC: HDC;
  Handle: HWND;
begin
  Handle:=WindowFromPoint(Pos);
  DC:=GetDC(Handle);
  result:=Windows.GetPixel(DC, Pos.X, Pos.Y);
  ReleaseDC(Handle, DC);
end;
Hab's aber nicht gestestet!
  Mit Zitat antworten Zitat
LeCorno

Registriert seit: 27. Nov 2003
Ort: Frankfurt/Main
7 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Pixelfarbe abfragen mit Delphi

  Alt 27. Nov 2003, 16:59
danke für deine antwort!

die funktion gibt mir nur die farbwerte von pixeln, die auf dem desktop liegen aus.
wie kann ich auch pixel in aktiven programmfenstern analysieren ?

gruß
corny
  Mit Zitat antworten Zitat
Kamil

Registriert seit: 16. Aug 2002
178 Beiträge
 
#4

Re: Pixelfarbe abfragen mit Delphi

  Alt 27. Nov 2003, 19:32
Vielleicht musst du es noch mit ChildWindowFromPoint kombinieren.
  Mit Zitat antworten Zitat
LeCorno

Registriert seit: 27. Nov 2003
Ort: Frankfurt/Main
7 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Pixelfarbe abfragen mit Delphi

  Alt 27. Nov 2003, 19:36
hast du ne idee, wie der quelltext dazu aussehen könnte?

aber danke schonmal
  Mit Zitat antworten Zitat
Kamil

Registriert seit: 16. Aug 2002
178 Beiträge
 
#6

Re: Pixelfarbe abfragen mit Delphi

  Alt 27. Nov 2003, 19:40
ach, ne... ich glaube du musst die Position (Pos.X und Pos.Y) an das Fenster anpassen (also relative Koordinaten berechnen).
  Mit Zitat antworten Zitat
LeCorno

Registriert seit: 27. Nov 2003
Ort: Frankfurt/Main
7 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Pixelfarbe abfragen mit Delphi

  Alt 27. Nov 2003, 19:50
hmm da bin ich mir nicht sicher.
wenn ich nach dem quellcode vorgehe, den du als erstes gepostet hattest, zeigt das programm mir bei einem pixel in einem aktiven fenster den farbwert '-1'...

-corny
  Mit Zitat antworten Zitat
Kamil

Registriert seit: 16. Aug 2002
178 Beiträge
 
#8

Re: Pixelfarbe abfragen mit Delphi

  Alt 27. Nov 2003, 19:54
ich meine es ungefähr so (jetzt müsste es eigentlich funktionieren):
Delphi-Quellcode:
function GetPixel(Pos: TPoint): TColor;
var
  DC: HDC;
  Handle: HWND;
  Rect: TRect;
begin
  Handle:=WindowFromPoint(Pos);
  if GetWindowRect(Handle, Rect) then
  begin
    DC:=GetDC(Handle);
    Pos.X:=Pos.X-Rect.Left;
    Pos.Y:=Pos.Y-Rect.Top;
    result:=Windows.GetPixel(DC, Pos.X, Pos.Y);
    ReleaseDC(Handle, DC);
  end
  else
  begin
    result:=CLR_INVALID;
  end;
  if result=CLR_INVALID then
    raise Exception.Create('Fehler...');
end;
(edit: du könntest auch einfach einen Screenshot erstellen und dort dann die Pixel auslesen...)
  Mit Zitat antworten Zitat
LeCorno

Registriert seit: 27. Nov 2003
Ort: Frankfurt/Main
7 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Pixelfarbe abfragen mit Delphi

  Alt 27. Nov 2003, 20:09
kann das programm jetzt alle pixel, die ich als anwender sehe, abfragen, oder nur die des aktiven fensters?

edit: screenshot schwierig, ich muss ein laufendes programm überwachen...
  Mit Zitat antworten Zitat
Kamil

Registriert seit: 16. Aug 2002
178 Beiträge
 
#10

Re: Pixelfarbe abfragen mit Delphi

  Alt 27. Nov 2003, 20:29
Alle, die der Anwender sieht. Probier's doch einafch aus...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz