EncodeImage()
Syntaxe
*Resultat = EncodeImage(#Image [, ImagePlugin [, Options [, Profondeur]]])Description
Encode une image dans une mémoire tampon.
Arguments
#Image L'image à encoder. ImagePlugin (optionnel) Le format de l'image à encoder. Il peut être une des valeurs suivantes: #PB_ImagePlugin_BMP : Encoder l'image en BMP (Par défaut) #PB_ImagePlugin_JPEG : Encoder l'image en JPEG (UseJPEGImageEncoder() doit être utilisé) #PB_ImagePlugin_JPEG2000 : Encoder l'image en JPEG2000 (UseJPEG2000ImageEncoder() doit être utilisé) #PB_ImagePlugin_PNG : Encoder l'image en PNG (UsePNGImageEncoder() doit être utilisé)Options (optionnel) Qualité de l'image pour #PB_ImagePlugin_JPEG et #PB_ImagePlugin_JPEG2000:
De 0 = Qualité médiocre à 10 = Qualité maximale.
Qualité par défaut = 7, si aucune option n'est spécifiée.
Quand une image est codée en utilisant une palette (1, 4 ou 8), la constante suivante peut faire partie de la combinaison:#PB_Image_FloydSteinberg: Applique un filtre Floyd-Steinberg.Profondeur (optionnel) La profondeur dans lequel vous souhaitez enregistrer l'image.
Les valeurs valides sont 1, 4, 8, 24 et 32.
La valeur par défaut est la profondeur de l'image originale.
Pour l'instant, seul l'encodeur PNG supporte le format d'image palettisée (1, 4 ou 8 bits).
Valeur de retour
Renvoie un pointeur vers une mémoire tampon nouvellement allouée contenant l'image encodée, ou zéro si l'encodeur a échoué.
MemorySize() peut être utilisé pour obtenir la taille de l'image encodée.
FreeMemory() doit être utilisé pour libérer la mémoire tampon après utilisation.
Exemple
UsePNGImageEncoder() UsePNGImageDecoder() If OpenWindow(0, 0, 0, 426, 128, "EncodeImage", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ImageGadget(0, 0, 0, 128, 128, LoadImage(0, #PB_Compiler_Home+"Examples\Sources\Data\GeeBee2.bmp")) ButtonGadget(1, 138, 50, 150, 30, "Encodage PNG 2 bits ->") ImageGadget(2, 298, 0, 128, 128, 0) *ptr=EncodeImage(0 ,#PB_ImagePlugin_PNG, #PB_Image_FloydSteinberg, 2) ; Encodage 2 bits Repeat Event = WaitWindowEvent() If Event = #PB_Event_Gadget Select EventGadget() Case 1 CatchImage(2, *ptr) ; L'image est en mémoire SetGadgetState(2,ImageID(2)) ; Affichage EndSelect EndIf Until Event = #PB_Event_CloseWindow EndIf
Voir aussi
LoadImage(), ImagePlugin library
OS Supportés
Tous