Utilisation d'images GIF dans Delphi

Même si Delphi ne prend pas en charge nativement les formats de fichiers d'image GIF (comme BMP ou JPEG), il existe quelques excellents composants (source gratuite) disponibles sur le Net, qui ajoutent la possibilité d'afficher et de manipuler des images GIF à l'exécution ainsi qu'à la conception temps pour toute application Delphi.

En mode natif, Delphi prend en charge les images BMP, ICO, WMF et JPG. Ceux-ci peuvent être chargés dans un composant compatible graphique (tel que TImage) et utilisés dans une application.

Il est important de noter qu'à partir de la version 2006 de Delphi, le format GIF est pris en charge par la VCL. Pour utiliser des images GIF animées, vous auriez toujours besoin d'un contrôle tiers.

Les GIF - ou Graphics Interchange Formats - sont le format graphique (bitmap) le plus largement pris en charge sur le Web, tant pour les images fixes que pour les animations..

Utilisation dans Delphi

En mode natif, Delphi (jusqu'à la version 2007) ne prend pas en charge les images GIF, en raison de certains problèmes de droit d'auteur. Cela signifie que lorsque vous déposez un composant TImage sur une fiche, utilisez l'éditeur d'image (cliquez sur le bouton points de suspension dans la colonne Valeur pour les propriétés, telles que la propriété Image de TImage) pour charger une image dans le TImage, vous pas d'option pour charger des images GIF.

Heureusement, il existe quelques implémentations tierces sur Internet qui offrent une prise en charge complète du format GIF:

  • TGIFImage: gratuit avec source (une version du TGIFImage d'Anders Melander porté sur Delphi 7). Implémentation TGraphic complète du format graphique GIF. Lit, écrit et affiche des GIF animés et transparents et peut convertir vers et depuis n'importe quel format pris en charge par TGraphic (par exemple TBitmap, TJPEGImage, TIcon, TMetaFile, etc.). Implémente la spécification GIF87a et GIF89a complète et les extensions GIF les plus courantes. Les fonctionnalités avancées incluent:
    • S'intègre à TPicture pour ajouter la prise en charge GIF aux composants TImage, TOpenPictureDialog et TSavePictureDialog. Fonctionne également au moment du design.
    • Importe des images avec plus de 256 couleurs en utilisant la quantification des couleurs et 6 méthodes de tramage différentes (par exemple Floyd-Steinberg).
    • Moteur de dessin multi-thread.
    • L'optimiseur GIF réduit la taille de vos GIF.
    • Convertisseur GIF en AVI et AVI en GIF.
  • Bibliothèque d'images GraphicEx: un complément au Graphics.pas de Delphi pour permettre à votre application de charger de nombreux formats d'image courants. Cette bibliothèque est principalement conçue pour charger des images en arrière-plan (boutons, formulaires, barres d'outils) et des textures (DirectX, OpenGL) ou à des fins de navigation et d'édition d'images tant que vous n'avez pas besoin d'enregistrer des images. Actuellement, seul TTargaGraphic prend également en charge l'enregistrement d'une image. GraphicEx est open source sous la licence publique Mozilla (MPL).

C'est à peu près ça. Il ne vous reste plus qu'à télécharger l'un des composants et à commencer à utiliser des images gif dans vos applications.
Vous pouvez par exemple:

  • Stockez des images GIF dans une table de base de données. Vous aurez besoin des «nombres magiques» de l'image GIF.
  • Afficher les graphiques GIF sous forme de glyphe sur un SpeedButton.
  • Stockez des graphiques GIF et un fichier HTML en tant que ressource dans am exe.