Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi [Problem] Pixelfarbe suchen [Lösungansätze] AutoIT & Bitmap (https://www.delphipraxis.net/121638-%5Bproblem%5D-pixelfarbe-suchen-%5Bloesungansaetze%5D-autoit-bitmap.html)

MaToBe 1. Okt 2008 17:13


[Problem] Pixelfarbe suchen [Lösungansätze] AutoIT & Bit
 
Hi,

ich möchte gerne unter Angabe eines bestimmten Pixel dessen Farbe ermitteln. Da es sich aber um ein mit DirectX laufende Anwendung handelt bringt die Abfrage per

Delphi-Quellcode:
function TForm1.DesktopColor(const x,y: integer): TColor;
var
c:TCanvas;
begin
c:=TCanvas.create;
c.handle:=GetWindowDC(WindowHandel);
result:=getpixel(c.handle,x,y);
c.free;
end;
nur den Pixel an der Position auf dem Desktop.

Nun habe ich noch 2 Möglichkeiten gelesen:

1. Die Implementierung von AutoIT in Delphi:
Ich habe die AutoIT.dll mit allen AutoIT Befehlen. Da ich neu auf dem Gebiet der DLLs bin würde ich mich freuen, wenn sich jemand bereiterklären würde, hier im Thread mir detaliert zu erklären wie ich diese DLL in mein Delphi-Programm einbinden kann und iwe ich dann die AutoIT Befehle korrekt aufrufe.


2. Screenshot der Anwendung mit anschließendem GetPixel
Die 2. Möglichkeit wäre, alle 500ms einen Screenshot des Dektops zu machen. Diesen könnte man ja dann auf die Pixelfarbe hin untersuchen. Auch bei dieser Möglichkeit würde ich um eine detaliert Anleitung bitten.


Ich freue mich schon auf eure Antworten, MFG MaToBe

Alter Mann 1. Okt 2008 17:34

Re: [Problem] Pixelfarbe suchen [Lösungansätze] AutoIT &
 
Hallo und herzlich Willkommen

Zitat:

Da es sich aber um ein mit DirectX laufende Anwendung handelt bringt die Abfrage per
nichts, oder wie du schon richtig erkannt hast, die Farbe des Pixels auf dem Desktop.

Der Grund: DirectX benutzt zur Darstellung ein Surface. Um an dessen Pixel-Farben zu kommen
ist ein anderer Weg erforderlich.

Erste Anregungen wirst du bestimmt hier finden.

Gruß

MaToBe 1. Okt 2008 18:11

Re: [Problem] Pixelfarbe suchen [Lösungansätze] AutoIT &
 
Hallo,

dein Link funktioniert leider nicht, da steht Error, auf Server nicht gefunden.

Wenn es auf die GetHandel Variante auch klappen würde wäre es natürlich idea, hab scbon gehört das man das irgendwie umgehen kann?

MFG


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:25 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