ich bin jetzt langsam am verzweifeln,...
entweder ich mach aus unwissenheit irgendetwas falsch, oder
ich überseh irgendwo irgendwie eine kleinigkeit!
hier erstmal der code ausschnitt:
Code: Alles auswählen
procedure TForm1.Render;
var
Buffer: TPicture;
i: Integer;
begin
Buffer:= TPicture.Create;
Buffer:=MyScreenShot;
Buffer.Bitmap.Canvas.Brush.Color:=clWhite;
for i:= 0 to 100 do
begin
Buffer.Bitmap.Canvas.Ellipse(Round(MyFlocke[i].x), Round(MyFlocke[i].y),
Round(MyFlocke[i].x)+5, Round(MyFlocke[i].y)+5);
MyFlocke[i].y := MyFlocke[i].y + MyFlocke[i].speed;
end;
BitBlt(Image1.Canvas.Handle, 0, 0,
Buffer.Width, Buffer.Height,
Buffer.Bitmap.Canvas.Handle, 0, 0,
SRCCOPY);
Buffer.Free;
end;
nur leider scheint es so, als würde ein einmal gezeichnetes bild nicht nocheinmal übermalen werden können.
also es steht einfach!
BitBlt "übermalt" schon den vorherigen inhalt von Image1, oder?
DoubleBuffered von Form1 hab ich true gesetzt.
Timer1.Interval hab ich 100 gesetzt und Timer1.Enabled auf true.
Render wird in Timer1 aufgerufen!
Wär toll wenn mir da jemand helfen kann.
Danke
lg
lukas