Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi IsWhite, Red, Black, Green....? (https://www.delphipraxis.net/100291-iswhite-red-black-green.html)

k4ni 25. Sep 2007 21:20


IsWhite, Red, Black, Green....?
 
Hey pr0's.

Bin zurzeit dabei eine art bot zu machen, doch ich hab ein problem und komm nicht weiter.

Manche von euch kennen doch bestimmt das ACTool indem man seine eigenen makros schreiben kann. Dort gibt es einen befehlt der heist
Delphi-Quellcode:
IsWhite 309, 299
Also wenn auf der Mouse Position von 309/299 die farbe WEISS erkannt wird macht er das was danach folgt also z.b.
Delphi-Quellcode:
IsWhite 309, 299
RightClick
Also macht es dann einen rechtsklick, ganz einfach mit diesem tool. Doch gibt es solche funktionen auch bei delphi ?

mkinzler 25. Sep 2007 21:24

Re: IsWhite, Red, Black, Green....?
 
Natürlich kann man so etwas auch mit Delphi machen.

k4ni 25. Sep 2007 21:28

Re: IsWhite, Red, Black, Green....?
 
Zitat:

Zitat von mkinzler
Natürlich kann man so etwas auch mit Delphi machen.

Das is schonnma ne gute nachricht :-D .
Doch wie heist diese funktion, hab in der sufu/google nichts gefunden bzw. wusste ich granicht wirklich nach was ich suchen soll.

mkinzler 25. Sep 2007 21:30

Re: IsWhite, Red, Black, Green....?
 
Schau dir mal
Delphi-Quellcode:
Form.Canvas.Pixels[]
an.

inherited 25. Sep 2007 21:31

Re: IsWhite, Red, Black, Green....?
 
Erstmal musst du an die Bildinformationen kommen. benutz mal die Forensuche!
mkinzler: Ich glaube es geht um globale Pixel

k4ni 25. Sep 2007 21:39

Re: IsWhite, Red, Black, Green....?
 
Also.
Ich hab es mal so versucht:
Delphi-Quellcode:
Canvas.Pixels[5,5] := 'white'
oder mir #FFFFFF oder so zeugs bekomm aber
Delphi-Quellcode:
[Error] Unit1.pas(29): Incompatible types: 'TColor' and 'String'
lösung?

und eh was sind globale pixel ?
und ich weis nicht nach was ich genau suchen muss. sorry

edit: ok clWhite geht, bin mal probieren :)

edit2:
also ich hab jetzt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if Canvas.Pixels[5,5] = clWhite then
ShowMessage ('xD');
end;
Also sollte es auf Cordinaten 5,5 weiss sein sollte doch msg kommen, oder nich? geht aber irgendwie nicht. :(

mkinzler 25. Sep 2007 21:44

Re: IsWhite, Red, Black, Green....?
 
Meine Lösung betrachtet nur den Canvas einer Form.
Wie die Fehlermeldung schon aussagt kannst du Pixel nicht mit einem String vergleichen, da sie vom Typ TColor sind:

Delphi-Quellcode:
if Canvas.Pixels[5,5] = clWhite then ...

k4ni 25. Sep 2007 21:46

Re: IsWhite, Red, Black, Green....?
 
Ahja, dann sind also globale pixel auch die pixel aushalb der form.
Innerhlab geht es mit damit.
Doch wie würde das aushalb gehen, oder wie ist da begriff für so etwas damit ich suchen kann ? :-D

mkinzler 25. Sep 2007 21:49

Re: IsWhite, Red, Black, Green....?
 
Hier
http://www.dsdt.info/tipps/?id=321
findest du Code um an den Canvas des Desktops heranzukommen.

k4ni 25. Sep 2007 22:01

Re: IsWhite, Red, Black, Green....?
 
dankeee :)
Nur dann sollte das so eigenglich klappen oder?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
 DCanvas: TCanvas;
 DHandle: HWND;
begin
 DHandle:=GetDC(0);
 if DHandle<>0 then
 begin
   try
     DCanvas:=TCanvas.Create;
     try
     if DCanvas.Pixels[5, 5] = clWhite
       then ShowMessage ('x');
     finally
       DCanvas.Free;
     end;
    finally
      if ReleaseDc(0, DHandle)<>1 then
        RaiseLastOSError;
    end;
 end
 else
   RaiseLastOSError;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:45 Uhr.
Seite 1 von 2  1 2      

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