Also:
Der Vorschlag kam ja von guidok, da soll das BitmapCreate natürlich in das Oncreate() des Formulars, das Free() natürlich in das OnDestroy() des Formulars.
Natürlich geht's auch mit direkter Verwendung von Bitmap oder Image, beides ist doppelt-gemoppelt.
Das ScanLine liefert für die angegebene Zeile ein ByteArray zurück; ganauer: einen Zeiger auf ein ByteArray. Die D7 Hilfe hat folgendes Beispiel dazu:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
// Dieses Beispiel zeigt die direkte Ausgabe in ein Bitmap
var
x,y : Integer;
BitMap : TBitMap;
P : PByteArray;
begin
BitMap := TBitMap.create;
try
// Ersetzen Sie in Windows MyBitmap.png durch den vollständigen Pfadnamen:
// C:\Program Files\Common Files\Borland Shared\Images\Splash\256color\factory.bmp
BitMap.LoadFromFile('MyBitmap.png');
for y := 0 to BitMap.Height -1 do
begin
P := BitMap.ScanLine[y];
for x := 0 to BitMap.Width -1 do
P[x] := y;
end;
Canvas.Draw(0,0,BitMap);
finally
BitMap.Free;
end;
end;
Das sollte dir eigentlich erst einmal weiterhelfen.