Einzelnen Beitrag anzeigen

Baal

Registriert seit: 28. Aug 2003
53 Beiträge
 
Delphi XE2 Starter
 
#1

Mit Scanline einen bestimmten Bereich auslesen

  Alt 23. Nov 2005, 20:22
hi,

ich möchte mit Scanline einen bestimmten bereich eines bildes auslesen und auswerten

über die suche bin ich leider nich fündig geworden

diesen code habe ich aus der DP


Delphi-Quellcode:
procedure TForm1.Scan(h: HWND);
var
BitMap : TBitMap;
P: PRGBQuad;
y, x: integer;
begin
BitMap := TBitMap.create;
try
BitMap.LoadFromFile('maple.bmp');
BitMap.PixelFormat:= pf32Bit;

for y := 310 to 420 do
begin
P := BitMap.ScanLine[y];

for x := 348 to 372 do //360
begin
If ( P^.rgbRed = 173 ) And ( P^.rgbGreen = 33 ) And ( P^.rgbBlue = 0 ) Then
Begin
if x<=365 then sendkeys('left,Y',true);
if x>365 then sendkeys('right,Y',true);
End;

If ( P^.rgbRed = 0 ) And ( P^.rgbGreen = 85 ) And ( P^.rgbBlue = 173 ) Then
Begin
if x<=365 then sendkeys('left,Y',true);
if x>365 then sendkeys('right,Y',true);
End;
Inc(P);
end;
end;
finally
BitMap.Free;
end;
end;
wenn ich mit Scanline nun scanne dann liest er das ganze bild ein und beim auswerten
gibt er mir falsche werte, er erkennt nur farbwerte am anfang des bildes ich möchte aber welche aus der mitte

Danke für die hilfe
wo ein wille ist, ist auch ein Delphi...
  Mit Zitat antworten Zitat