PureBasic & GDI+ 1.0
Codecs


Microsoft Windows GDI+ fournit des fonctions pour les images et bitmap afin de les manipuler et de les stocker en mémoire. GDI+ enregistre les images sous forme de fichiers sur le disque à l'aide d'encodeurs d'image et charge les images depuis des fichiers du disque à l'aide de décodeurs d'images. Un encodeur transforme les données d'une image ou d'un bitmap dans un format de fichier donné. Un décodeur transforme les don1nées provenant d'un fichier dans le format d'image donné ou en bitmap.

GDI+ possède des encodeurs et décodeurs intégrés qui supportent les types de fichier suivants : BMP, GIF, JPEG, PNG, TIFF
GDI+ possède également des décodeurs intégrés qui supportent les types de fichier suivants : WMF, EMF, ICON
Voici quelques questions/réponses sur les codecs :

- Comment énumérer les encodeurs installés :
   Voir l'exemple de la fonction GdipGetImageEncoders

- Comment énumérer les décodeurs installés :
   Voir l'exemple de la fonction GdipGetImageDecoders

- Comment retrouver l'identifiant CLSID pour un encodeur :
   La procédure
GetEncoderClsid() est déclarée dans le fichier gdiplus.pbi. Elle utilise 2 paramètres :

   - Le premier est une chaîne qui est le type MIME d'un encodeur.
   - Le deuxième est un pointeur de type CLSID qui sera utilisé pour retourner l'identifiant correspondant à l'encodeur.

   En cas d'échec, la fonction retourne -1.
   Les types MIME (chaînes) des encodeurs Microsoft Windows GDI+ sont les suivants :

"image/bmp"
"image/jpeg"
"image/gif"
"image/tiff"
"image/png"
 

   Ces chaînes sont déclarées dans le fichier gdiplus.pbi sous la forme de constantes.
   Il est préférable d'utiliser ces constantes pour éviter les erreurs d'écriture.

#Jpeg_Encoder = "image/jpeg"
#Gif_Encoder = "image/gif"
#Bmp_Encoder = "image/bmp"
#Png_Encoder = "image/png"
#Tif_Encoder = "image/tiff"

- Comment retrouver l'identifiant CLSID pour un décodeur :
   La procédure
GetDecoderClsid() est déclarée dans le fichier gdiplus.pbi. Elle utilise 2 paramètres :

   - Le premier est une chaîne qui est le type MIME d'un décodeur.
   - Le deuxième est un pointeur de type CLSID qui sera utilisé pour retourner l'identifiant correspondant au décodeur.

   En cas d'échec, la fonction retourne -1.
   Les types MIME (chaînes) des encodeurs Microsoft Windows GDI+ sont les suivants :

"image/bmp"
"image/jpeg"
"image/gif"
"image/tiff"
"image/png"

   Ces chaînes sont déclarées dans le fichier gdiplus.pbi sous la forme de constantes.
   Il est préférable d'utiliser ces constantes pour éviter les erreurs d'écriture.

#Jpeg_Encoder = "image/jpeg"
#Gif_Encoder = "image/gif"
#Bmp_Encoder = "image/bmp"
#Png_Encoder = "image/png"
#Tif_Encoder = "image/tiff"

- Comment déterminer les paramètres supportés par un encodeur :
   La fonction GetEncoderParameterList() permet de déterminer les paramètres supportés par un encodeur.
   L'exemple de la fonction permet de lister les paramètres pour tous les encodeurs.   

- Comment créer et sauvegarder une image composée d'une séquence d'images au format TIFF (multi-frame) :
    Reportez-vous à l'exemple de la fonction GdipSaveAdd() ou au premier exemple de la fonction GdipSaveAddImage().

- Comment créer et sauvegarder une image au format JPG compressé :
    Reportez-vous à la procédure Gdiplus_ImageSetCompressionJpeg() et à son exemple.

Liste des commandes

GdipGetEncoderParameterList
GdipGetEncoderParameterListSize
GdipGetImageDecoders
GdipGetImageDecodersSize
GdipGetImageEncoders
GdipGetImageEncodersSize