Ich habe auch mal sowas programmiert - einen Bot für
Heiliger Damm
Ich nehme mal an, du hast das
Handle bereits, dann musst du dir nen
DC besorgen (Hast du getan) und ...
Dewr einzige untershcied ist - soweit ich das jetzt auf den 1. Blick sehe - dass du mit GetPixel arbeitetst ....
Delphi-Quellcode:
BitBlt(Bild.Canvas.Handle, 0, 0, CopyWidth, CopyHeight, HDdc, 0, 0, SRCCOPY); // Kopiert das Bild des Spiels in ein Bitmap
index := 0;
SetLength(Points, 10);
GetWindowRect(HDwnd, HDrect);
HDrect.Top := HDrect.Top + GetSystemMetrics(SM_CYCAPTION);
for i := 0 to Bild.Height - 1 do
begin
Pixel := Bild.ScanLine[i];
for j := 0 to Bild.Width - 1 do
begin
if (Pixel^.rgbtRed in [SpotRed-Toleranz .. SpotRed+Toleranz]) and (Pixel^.rgbtGreen in [SpotGreen-Toleranz .. SpotGreen+Toleranz]) and (Pixel^.rgbtBlue in [SpotBlue-Toleranz .. SpotBlue+Toleranz]) then
begin
Bild.Canvas.Ellipse(j - 25, i - 25, j + 25, i + 25); // "markiert" den Fundort (X=j, Y=i)
end;
Inc(Pixel);
end;
Versuch mal 3 Dinge:
Kopier den
DC, den du hast, auf dein Form in ein Image - ob du auch das richtige hast
Delphi-Quellcode:
StretchBlt(PaintBox1.Canvas.Handle,
0,
0,
PaintBox1.Width,
PaintBox1.Height,
Bild.Canvas.Handle,
0,
0,
CopyWidth,
CopyHeight,
SRCCOPY);
Debug das durch, und schau mal was da beim Verglich schiefläuft
keine Ahnung ^^