Werken met GIF-afbeeldingen in Delphi

Hoewel Delphi native geen GIF-afbeeldingsbestandsindelingen ondersteunt (zoals BMP of JPEG), zijn er een paar geweldige (gratis bron) componenten beschikbaar op het Net, die de mogelijkheid toevoegen om GIF-afbeeldingen weer te geven en te manipuleren tijdens het uitvoeren en bij het ontwerp tijd voor een Delphi-toepassing.

Vanzelfsprekend ondersteunt Delphi BMP-, ICO-, WMF- en JPG-afbeeldingen. Deze kunnen worden geladen in een grafisch compatibel onderdeel (zoals TImage) en worden gebruikt in een toepassing.

Het is belangrijk op te merken dat vanaf Delphi versie 2006 het GIF-formaat wordt ondersteund door de VCL. Als u geanimeerde GIF-afbeeldingen wilt gebruiken, hebt u nog steeds controle van derden nodig.

GIF's - of Graphics Interchange-indelingen - zijn de meest ondersteunde (bitmap) grafische indeling op het web, zowel voor stilstaande beelden als voor animaties.

Gebruik in Delphi

Vanzelfsprekend ondersteunt Delphi (tot versie 2007) geen GIF-afbeeldingen vanwege juridische problemen met de auteursrechten. Wat dit betekent, is dat wanneer u een TImage-component op een formulier neerzet, de Afbeeldingseditor (klik op de ellips in de kolom Waarde voor eigenschappen, zoals de eigenschap Picture van TImage) om een ​​afbeelding in de TImage te laden, geen optie om GIF-afbeeldingen te laden.

Gelukkig zijn er op internet enkele implementaties van derden die volledige ondersteuning bieden voor het GIF-formaat:

  • TGIFImage: gratis bij bron (een versie van de TGIFImage van Anders Melander geport naar Delphi 7). Volledige TGraphic-implementatie van het grafische GIF-formaat. Leest, schrijft en toont geanimeerde en transparante GIF's en kan converteren naar en van elk formaat dat wordt ondersteund door TGraphic (bijv. TBitmap, TJPEGImage, TIcon, TMetaFile, etc.). Implementeert de volledige GIF87a- en GIF89a-specificatie en de meest voorkomende GIF-extensies. Geavanceerde functies zijn onder meer:
    • Integreert met TPicture om GIF-ondersteuning toe te voegen aan de componenten TImage, TOpenPictureDialog en TSavePictureDialog. Werkt ook tijdens het ontwerp.
    • Importeert afbeeldingen met meer dan 256 kleuren met behulp van kleurkwantisatie en 6 verschillende dithering-methoden (bijv. Floyd- Steinberg).
    • Multi-threaded tekenmotor.
    • GIF-optimalisatie vermindert de grootte van uw GIF's.
    • GIF naar AVI en AVI naar GIF converter.
  • GraphicEx-beeldbibliotheek: een addendum bij Delphi's Graphics.pas om uw toepassing in staat te stellen veel gebruikelijke beeldformaten te laden. Deze bibliotheek is primair ontworpen om afbeeldingen te laden als achtergrond (knoppen, formulieren, werkbalken) en texturen (DirectX, OpenGL) of voor het bekijken en bewerken van afbeeldingen zolang u geen afbeeldingen hoeft op te slaan. Momenteel ondersteunt alleen TTargaGraphic het opslaan van een afbeelding. GraphicEx is open source onder de Mozilla Public License (MPL).

Dat is het ongeveer. Nu hoef je alleen nog maar een van de componenten te downloaden en gif-afbeeldingen in je applicaties te gebruiken.
U kunt bijvoorbeeld:

  • Bewaar GIF-afbeeldingen in een databasetabel. Je hebt de "magische nummers" van de GIF-afbeelding nodig.
  • Toon GIF-afbeeldingen als Glyph op een SpeedButton.
  • Bewaar GIF-afbeeldingen en een HTML-bestand als een bron binnen am exe.