web-dev-qa-db-fra.com

Comment utiliser Gif animé sous une forme delphi

Je pense qu'il n'y a pas de support natif pour les images animées gif.

Quelle est la meilleure façon? tout composant gratuit qui permet cela? Je pensais utiliser un TImage et un ImageList + Timer, mais j'ai besoin d'exporter chaque image du gif vers un fichier bmp séparé.

22
Vitim.us

C'est assez simple dans Delphi moderne. Tout est intégré. Déposez un TImage sur le formulaire et chargez le GIF animé dans la propriété Picture. Ensuite, démarrez l'animation à l'aide de la propriété Animate :

(Image1.Picture.Graphic as TGIFImage).Animate := True;

Vous pouvez contrôler l'animation avec AnimateLoop et AnimateSpeed . Il devrait être assez facile de deviner comment désactiver à nouveau l'animation!

Maintenant, puisque vous utilisez Delphi 7, vous n'avez pas le composant TGIFImage intégré. Cependant, vous pouvez télécharger le code à partir du site Web de Finn Tolderlund (vous voulez la dernière version de TGIFImage). Avec cette version du composant, le code ci-dessus devrait fonctionner correctement, même si je ne l'ai pas personnellement utilisé depuis que j'ai porté du D6 au D2010 il y a quelques années.

Tous ces divers codes TGIFImage ne sont en réalité que des versions du même composant, écrits à l'origine par Anders Melander et, en 2007, donnés à Embarcadero pour inclusion dans Delphi.

47
David Heffernan

il s'agit simplement de charger un gif animé et non d'en créer un

procedure TForm1.FormCreate(Sender: TObject);

begin

  ( Image1.Picture.Graphic as TGIFImage ).Animate := True;// gets it goin'

  ( Image1.Picture.Graphic as TGIFImage ).AnimationSpeed:= 500;// adjust your speed

  Form1.DoubleBuffered := True;// stops flickering

end;

stackoverflow m'a aidé et donc mon petit peu en retour:)

8
steve

Recherche sur Google pour 'Delphi Gif'

http://melander.dk/delphi/gifimage/

fait désormais partie de Delphi

5
Toby Allen