Einzelnen Beitrag anzeigen

Gargamel

Registriert seit: 19. Mär 2007
171 Beiträge
 
#1

Welche Farben hat lineTo getroffen?

  Alt 11. Mär 2010, 15:14
OK, ich habe ein TBitmap, welches mit weisser Farbe gefüllt wurde. Dazu gibt es im Bild einige schwarze Rechtecke.

Und nun zeichne ich eine blaue Linie hinein. Der Code sieht etwa so aus:

Delphi-Quellcode:
var Bitmap:TBitmap;
    rayStartX,rayStartY,rayEndX,rayEndY:integer;
Begin
  Bitmap:=TBitmap.Create;
  Bitmap.LoadFromFile(getCurrentDir+'\testBild.bmp');

  rayStartX:=StrToInt(Edit_rayStartX.Text);
  rayStartY:=StrToInt(Edit_rayStartY.Text);
  rayEndX:=StrToInt(Edit_rayEndX.Text);
  rayEndY:=StrToInt(Edit_rayendY.Text);

  with Bitmap.Canvas do
  Begin
    Pen.Color:=clBlue;
    MoveTo(rayStartX, rayStartY);
    LineTo(rayEndX, rayEndY);
  End;

  Image_Basis.Picture.Bitmap:=Bitmap; // visuelle Kontrolle, ob in TBitmap.Canvas richtig gezeichnet wurde
End;
Nun möchte ich aber herausfinden, ob die blaue Linie auf ihrem Weg schwarze Pixel getroffen hat oder nicht.

Irgendwelche Ideen?

Die einzige Lösung, die mir eingefallen ist: Statt lineTo zu nehmen, einfach in einer Schleife den Farbwert des Pixels an Stelle [x,y] auslesen, ehe die Farbe Blau für dieses Pixel gesetzt wird.
  Mit Zitat antworten Zitat