Lucrul cu imagini GIF în Delphi

Chiar dacă Delphi nu acceptă în mod nativ formate de fișiere cu imagini GIF (cum ar fi BMP sau JPEG), există câteva componente grozave (sursa gratuită) disponibile pe Net, care adaugă posibilitatea de a afișa și manipula imagini GIF atât la rulare cât și la proiectare. timp pentru orice aplicație Delphi.

În mod original, Delphi acceptă imagini BMP, ICO, WMF și JPG. Acestea pot fi încărcate într-o componentă compatibilă grafică (cum ar fi TImage) și utilizate într-o aplicație.

Este important de menționat că, începând cu versiunea Delphi 2006, formatul GIF este acceptat de VCL. Pentru a utiliza imagini GIF animate, veți avea în continuare nevoie de un control al unei terțe părți.

GIF-urile - sau formatele de schimburi grafice - sunt formatul grafic (bitmap) cel mai acceptat pe Web, atât pentru imagini statice, cât și pentru animații.

Folosind în Delphi

În mod original, Delphi (până în versiunea 2007) nu acceptă imagini GIF, din cauza unor probleme legale de copyright. Ce înseamnă acest lucru este că, atunci când renunțați la o componentă TImage pe un formular, utilizați Editorul de imagini (faceți clic pe butonul de elipsă din coloana Valoare pentru proprietăți, cum ar fi proprietatea Picture a TImage) pentru a încărca o imagine în TImage, nu au opțiunea de a încărca imagini GIF.

Din fericire, există câteva implementări terțe pe Internet care oferă suport complet pentru formatul GIF:

  • TGIFImage: gratuit cu sursă (o versiune a TGIFImage a lui Anders Melander, portată la Delphi 7). Implementarea completă TGraphic a formatului grafic GIF. Citește, scrie și afișează GIF-uri animate și transparente și se poate converti în și din orice format acceptat de TGraphic (de ex. TBitmap, TJPEGImage, TIcon, TMetaFile etc.). Implementează specificația completă GIF87a și GIF89a și cele mai comune extensii GIF. Funcțiile avansate includ:
    • Se integrează cu TPicture pentru a adăuga suport GIF la componentele TImage, TOpenPictureDialog și TSavePictureDialog. De asemenea, funcționează la timpul de proiectare.
    • Importă imagini cu mai mult de 256 de culori folosind cuantificarea culorilor și 6 metode diferite de dringing (de exemplu, Floyd- Steinberg).
    • Motor cu desen multi-filet.
    • Optimizatorul GIF reduce dimensiunea GIF-urilor.
    • GIF la AVI și convertor AVI în GIF.
  • Bibliotecă de imagini GraphicEx: un addendum la Delphi's Graphics.pas pentru a permite aplicației dvs. să încarce multe formate comune de imagine. Această bibliotecă este concepută în principal pentru a încărca imagini ca fundal (butoane, formulare, bare de instrumente) și texturi (DirectX, OpenGL) sau pentru navigare și editare a imaginilor în scopuri, atât timp cât nu este necesar să salvați imagini. În prezent, numai TTargaGraphic acceptă salvarea unei imagini. GraphicEx este open source sub licența publică Mozilla (MPL).

Cam asta e. Acum tot ce trebuie să faci este să descarci una dintre componente și să începi să folosești imagini gif în aplicațiile tale.
Puteți, de exemplu:

  • Stocați imagini GIF într-un tabel de bază de date. Veți avea nevoie de „numerele magice” ale imaginii GIF.
  • Afișați graficele GIF ca Glyph pe un SpeedButton.
  • Stocați grafică GIF și un fișier HTML ca resursă în interiorul exe.