Ein Hallöle von
http://www.FrankNStein.de/Smiley-Wolke.gif.
Es ist schon klar, dass das halbe Bild mit Linien überseht ist.
Du zeichnest doch mit Linien (LineTo). Da beim Sprung zur nächsten Zeile ja von einem Ende des Bildes (Canvas rechts) zum anderen Ende (Canvas links) eine Linie über das Bild gezeichnet wird, welche ja eine Zeile runterspringt, also zur Hälfte auf der 1. Zeile und zur anderen Hälfte auf der 2. Zeile verläuft.
http://www.FrankNStein.de/FehlerbeimZeichnen.jpeg
(1. Zeile zeichnen / Sprung zur nächsten Zeile / 2. Zeile zeichnen)
Demnach hat
scp schon eine gute Lösung gegeben. Allerdings ist das noch zuviel:
Delphi-Quellcode:
Canvas.MoveTo(0,0);
col:=0;
Der Form halber sollte Color auch noch als TColor deklariert werden.
Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
Var Color: Array[0..2] of TColor;
Row, Col: Integer;
Begin
Color[0] := $00CCCCCC;
Color[1] := $00999999;
Color[2] := $00666666;
Randomize;
For Col := 0 to Form1.Height - 1 do
For Row := 0 to Form1.Width - 1 do
Canvas.Pixels[Row, Col] := Color[Random(3)];
End;
Und dann noch Color als Konstante:
Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
Const Color: Array[0..2] of TColor = ($00CCCCCC, $00999999, $00666666);
Var Row, Col: Integer;
Begin
Randomize;
For Col := 0 to Form1.Height - 1 do
For Row := 0 to Form1.Width - 1 do
Canvas.Pixels[Row, Col] := Color[Random(3)];
End;
http://www.FrankNStein.de/Smiley-Kuss.gif * *
http://www.FrankNStein.de/Smiley-Spinne.gif * * *
http://www.FrankNStein.de/Smiley-Winken.gif