Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Animation von TImages (https://www.delphipraxis.net/62394-animation-von-timages.html)

lebbesch007 3. Feb 2006 21:09


Animation von TImages
 
Hi, ich habe mal bei Hans101 geschaut, da ist es so das man TIMage so animieren (also mehrere Bilder nacheinander laden) kann,indem man mit dem Befehl Image1.canvas etc. ein weiteres Bild zeichnen kann, aber ich hab soweit keine Ahnung - Brauche Hilfe :!:

turboPASCAL 4. Feb 2006 10:55

Re: Animation von TImages
 
Liste der Anhänge anzeigen (Anzahl: 1)
Es kommt immer darauf an was und wie gemacht werden soll. Ein TImage ist eigentlich keine gute Wahl da es sich hierbei um eine "Statische" Komponente handelt. Zwar kann man auf den Canvas des Images (bzw. des Pictures oder Bitmaps) zeichnen es wird aber bei der Darstellung zu einem Flackern kommen.
Ich würde eine Paintbox benutzen um selbst animierte Bbitmaps darzustellen oder gleich die Komponente TAnimation.
Eine Möglichkeit habe ich als Demo (Paintbox-Methode) mal Angehangen.

Siehe auch: [oh]BitBlt, StretchBlt[/oh]

lebbesch007 4. Feb 2006 11:07

Re: Animation von TImages
 
geht das auch ohne eine .avi datei?

lebbesch007 4. Feb 2006 11:09

Re: Animation von TImages
 
ok ,das Problem ist behoben. Danke für das tolle Beispiel :-D

lebbesch007 4. Feb 2006 11:44

Re: Animation von TImages
 
Jetzt tritt das Problem auf, dass ich ja ein anderes Avi als die Katze verwenden möchte --> ich habe kein Programm, das mir dann die Datei in 32x32 .avi umwandelt, wenn ich das avi größer mache, dann bringt mir Delphi dei Meldung, dass die Datei nicht geöffnet werden kann.

::Ich habe dabei versucht, auch mal animate1 und paintbox1 mit einem Timer nach rechts zu bewegen::

Bei animate1 flimmert es nicht, aber es flimmert leicht bei der paintbox, also würde ich animate2 bevorzugen, allerdings habe ich das oben genannte Problem mit der Erstellung der Animationen.

Vielleicht könnt Ihr mir ja einen Tipp geben (givs zu avis würde auch gehn, aber es müsste gif zu 32x32 sein oder???)

turboPASCAL 4. Feb 2006 11:50

Re: Animation von TImages
 
Du musst die AVI-Datei mit RLE - Komprimierung speichern um sie in einem TAnimate zu verwenden.

lebbesch007 4. Feb 2006 11:54

Re: Animation von TImages
 
Wo finde ich ein Programm mit RLE-Komprimierung?

lebbesch007 4. Feb 2006 13:36

Re: Animation von TImages
 
Ich habe inzwischen ein Programm gefunden

ontorius 15. Mär 2006 09:55

Re: Animation von TImages
 
Ich verstehe deine MyDawBitmap-Prozedur nicht.

turboPASCAL 15. Mär 2006 10:43

Re: Animation von TImages
 
Delphi-Quellcode:
procedure TForm1.MyDrawBitmap;
begin
  if not CheckBox1.Checked then // ist nicht CheckBox1 markiert dann nomal zeichnen
  begin
    BitBlt(
      PaintBox1.Canvas.Handle,  // Wohin zeichnen
      0,                        // X-Pos im Ziel
      0,                        // Y-Pos im Ziel
      PicWith,                  // Bildbreite
      PicHight,                 // Bildhöhe
      MyBitmap.Canvas.Handle,   // Von welcher Quelle
      PicWith * AktPic,         // Breite eines Bildes mal aktuelles Bild
      0,                        // Y-Pos der Bildquelle (ist ja immer gleich)
      SRCCOPY                   // Methode: aus Quellbild nach Ziel kopieren
      );
  end else                      // ist CheckBox1 markiert dann gedehnt zeichnen
  begin
    StretchBlt(
      PaintBox1.Canvas.Handle,  // Wohin zeichnen
      0,                        // X-Pos im Ziel
      0,                        // Y-Pos im Ziel
      PaintBox1.Width,          // so Breit wie die Paintbox
      PaintBox1.Height,         // so Hoch wie die Paintbox
      MyBitmap.Canvas.Handle,   // Von welcher Quelle
      PicWith * AktPic,         // Breite eines Bildes mal aktuelles Bild
      0,                        // Y-Pos der Bildquelle (ist ja immer gleich)
      PicWith,                  // Breite eines Einzelbildes
      PicHight,                 // Höhe eines Einzelbildes
      SRCCOPY                   // Methode: aus Quellbild nach Ziel kopieren
      );
  end;
end;
Und was davon nicht ?

Siehe auch: [oh]BitBlt, StretchBlt[/oh]


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:28 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz