Hallo
Ich schlage mich hier gerade wie in dem anderem Thread beschrieben mit einer Animation von Bildern aus einer Imagelist.
In der Imagelist habe ich 0-7 also 8 *.bmp von 12x12 pixeln Größe jeweils und möchte diese an einer am besten dynamischen Stelle eines Images (hier: Image1 bzw test) anzeigen, um dort eine Animation vorzutäuschen.
Ich bin auf die Idee gekommen, das vielleicht über einen Timer zu steuern, damit man auch wirklich etwas von der Animation mitbekommt und die Frameverzögerung leicht einstellen kann.
Delphi-Quellcode:
procedure TForm1.b_testClick(Sender: TObject);
begin
functions.func.clean ( test , clWhite ); // Bild weiß füllen
p := 0; // Globale zählvariable auf 0
animate.Enabled := true; // Timer enablen
end;
procedure TForm1.animateTimer(Sender: TObject);
begin
// 0,0 sind die Zielkoordinaten
l_test.Caption := 'Frame: ' + IntToStr ( p );
imgl_1.Draw(test.Canvas, 0 , 0 , p);
l_test.Caption := 'Frame: ' + IntToStr ( p );
Inc(p);
if p > imgl_1.Count then
begin
p:=0; sleep ( 1000 ); animate.Enabled := false;
end;
end;
Jetzt zählt er richtig, dennoch wird garkein Bild mehr angezeigt o.O
Wie kann ich das ändern?
Wäre echt toll, wenn mir einer von euch helfen würde!
kroete