Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#3

Re: Mit Scanline einen bestimmten Bereich auslesen

  Alt 23. Nov 2005, 20:01
@turboPASCAL: Dann muss PRGBQuad aber auch durch PRGBTriple ersetzt werden. Es sollte aber beides funktionieren.

@Baal: Du hast zwar die Werte der for-Schleife angepasst, der Pointer zeigt aber immer noch auf das erste Pixel der Reihe.

Delphi-Quellcode:
for y := 310 to 420 do
begin
  P := BitMap.ScanLine[y];
  // P^ = Erstes Pixel der Reihe y

  Inc(P, 348); // 349. Pixel
  for x := 348 to 372 do
  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;
    [...]

    Inc(P); // Nächstes Pixel
   end;
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat