PureBasic & GDI+ 1.0
Les identificateurs GUID



Les GUID

Le GUID est un nombre unique de 128 bits affecté à un objet lors de sa création.
Ce nombre est également utilisé pour identifier chaque composant O.L.E (objet Linking and Embedding)
Les exemples fournis utilisent les Macros de Freak "Framework For Creating COM Objects" pour définir et utiliser les GUID Gdi+, vous pouvez voir son post ici http://www.purebasic.fr/english/viewtopic.php?t=22132
Les GUID Gdi+ peuvent être définis sous la forme de Datas en PureBasic, à vous de modifier les exemples si vous désirez utiliser les datas plutôt que les macros de Freak.
Ces constantes peuvent être utilisées avec la structure GUID prédéfinie en PureBasic.
Les GUID Gdi+ commun à la version 1.0 et 1.1 sont déclarées dans le fichier GdiPlusImaging.h (Documentation MS SDK) et les définitions des GUID pour les macros Framework de Freak sont définies dans le fichier gdiplus_GUID.pbi.

Les GUID Gdi+ spécifiques à la version 1.1 (pour les effets) sont déclarées dans le fichier Gdipluseffects.h (Documentation MS SDK)

Property Set Identifiers

Les constantes suivantes représentent les GUID qui identifient les ensembles de propriétés des images.
Définitions au format Framework For Creating COM Objects
(Gdiplus 1.0 et Gdiplus 1.1)

; Identificateur FormatIDImageInformation
  Indique un ensemble de propriétés concernant les données de l'image.
    DefineGUID(FormatIDImageInformation, $E5836CBE, $5EEF, $4F1D, $AC, $DE, $AE, $4C, $43, $B6, $08, $CE)

; Identificateur FormatIDJpegAppHeaders
  Indique un ensemble de propriétés pour les en-têtes des fichiers JPEG.
    DefineGUID(FormatIDJpegAppHeaders, $1C4AFDCD, $6177, $43CF, $AB, $C7, $5F, $51, $AF, $39, $EE, $85) 
     

Image Frame Dimensions

Les formats graphiques GIF et TIFF permettent de stocker plusieurs images dans un fichier d'image. Les différentes images d'un fichier GIF sont utilisées pour l'animation, ainsi les images sont dites images de dimension temporelle. Les différentes images d'un fichier TIFF sont utilisées typiquement en tant que pages séparées, ainsi les images sont dites images de dimension paginée.

Gdi+ 1.0 ne supporte pas les gif à séquence d'images (images multiples).

Les constantes suivantes représentent les GUID qui identifient les dimensions temporelles et paginées.

Définitions au format Framework For Creating COM Objects
(Gdiplus 1.0 et Gdiplus 1.1)

; Identificateur FrameDimensionPage
    DefineGUID(FrameDimensionPage, $7462DC86, $6180, $4C7E, $8E, $3F, $EE, $73, $33, $A7, $A4, $83)

; Identificateur FrameDimensionResolution
    DefineGUID(FrameDimensionResolution, $84236F7B, $3BD3, $428F, $8D, $AB, $4E, $A1, $43, $9C, $A3, $15)

; Identificateur FrameDimensionTime
    DefineGUID(FrameDimensionTime, $6AEDBD6D, $3FB5, $418A, $83, $A6, $7F, $45, $22, $9D, $C8, $72)


Image File Format

La fonction GdipGetImageRawFormat retourne un identifiant global unique (GUID) qui indique le format de l'image.

Les constantes suivantes représentent les GUID qui identifient ces formats d'image.
Définitions au format Framework For Creating COM Objects
(Gdiplus 1.0 et Gdiplus 1.1)

; Identificateur ImageFormatBMP
    DefineGUID(ImageFormatWMF, $B96B3CAD, $0728, $11D3, $9D, $7B, $00, $00, $F8, $1E, $F3, $2E)

; Identificateur ImageFormatEMF
    DefineGUID(ImageFormatEMF, $B96B3CAC, $0728, $11D3, $9D, $7B, $00, $00, $F8, $1E, $F3, $2E)

; Identificateur ImageFormatEXIF
    DefineGUID(ImageFormatEXIF, $B96B3CB2, $0728, $11D3, $9D, $7B, $00, $00, $F8, $1E, $F3, $2E)

; Identificateur ImageFormatGIF
    DefineGUID(ImageFormatGIF, $B96B3CB0, $0728, $11D3, $9D, $7B, $00, $00, $F8, $1E, $F3, $2E)

; Identificateur ImageFormatIcon
    DefineGUID(ImageFormatIcon, $B96B3CB5, $0728, $11D3, $9D, $7B, $00, $00, $F8, $1E, $F3, $2E)

; Identificateur ImageFormatJPEG
    DefineGUID(ImageFormatJPEG, $B96B3CAE, $0728, $11D3, $9D, $7B, $00, $00, $F8, $1E, $F3, $2E)

; Identificateur ImageFormatMemoryBMP
    DefineGUID(ImageFormatMemoryBMP, $B96B3CAA, $0728, $11D3, $9D, $7B, $00, $00, $F8, $1E, $F3, $2E)

; Identificateur ImageFormatPNG
    DefineGUID(ImageFormatPNG, $B96B3CAF, $0728, $11D3, $9D, $7B, $00, $00, $F8, $1E, $F3, $2E)

; Identificateur ImageFormatTIFF
    DefineGUID(ImageFormatTIFF, $B96B3CB1, $0728, $11D3, $9D, $7B, $00, $00, $F8, $1E, $F3, $2E)

; Identificateur ImageFormatUndefined
    DefineGUID(ImageFormatUndefined, $B96B3CA9, $0728, $11D3, $9D, $7B, $00, $00, $F8, $1E, $F3, $2E)

; Identificateur ImageFormatWMF
    DefineGUID(ImageFormatBMP, $B96B3CAB, $0728, $11D3, $9D, $7B, $00, $00, $F8, $1E, $F3, $2E)  


Image Encoder

Les fonctions GdipSaveImageToFile(), GdipSaveImageToStream(), GdipSaveAddImage() et GdipSaveAdd() utilisent un paramètre basé sur une structure EncoderParameters qui contient un Tableau de variables EncoderParameter. Chaque EncoderParameter a un membre de type GUID qui indique la catégorie du paramètre.
Les constantes suivantes représentent les GUID qui identifient les différentes catégories de paramètre pour les codecs d'images (encodeur/décodeur).
Définitions au format Framework For Creating COM Objects
(Gdiplus 1.0 et Gdiplus 1.1)

; Identificateur CodecIImageBytes
  Identifie les réglages mémoire de l'encoder.
    DefineGUID(CodecIImageBytes, $025D1823, $6C7D, $447B, $BB, $DB, $A3, $CB, $C3, $DF, $A2, $FC)

; Identificateur EncoderChrominanceTable
  Identifie les réglages de la table de chrominance de l'encoder.
    DefineGUID(EncoderChrominanceTable, $F2E455DC, $09B3, $4316, $82, $60, $67, $6A, $DA, $32, $48, $1C)

; Identificateur EncoderColorDepth
  Identifie les réglages de la profondeur de couleur de l'encodeur.
    DefineGUID(EncoderColorDepth, $66087055, $AD66, $4C7C, $9A, $18, $38, $A2, $31, $0B, $83, $37)  

; Identificateur EncoderCompression
  Identifie les réglages de la compression de l'encodeur.
    DefineGUID(EncoderCompression, $E09D739D, $CCD4, $44EE, $8E, $BA, $3F, $BF, $8B, $E4, $FC, $58)  

; Identificateur EncoderLuminanceTable
  Identifie les réglages de la table de luminance de l'encoder.

    DefineGUID(EncoderLuminanceTable, $EDB33BCE, $0266, $4A77, $B9, $04, $27, $21, $60, $99, $E7, $17)
; Identificateur EncoderQuality
  Identifie les réglages de la qualité de l'encoder.

    DefineGUID(EncoderQuality, $1D5BE4B5, $FA4A, $452D, $9C, $DD, $5D, $B3, $51, $05, $E7, $EB)
; Identificateur EncoderRenderMethod

  Identifie les réglages des méthodes de rendu de l'encoder, y compris si une image devrait être affichée en mode progressif.
    DefineGUID(EncoderRenderMethod, $6D42C53A, $229A, $4825, $8B, $B7, $5C, $99, $E2, $B9, $A8, $B8)

; Identificateur EncoderSaveFlag
  Identifie les réglages du drapeau de sauvegarde de l'encoder.

    DefineGUID(EncoderSaveFlag, $292266FC, $AC40, $47BF, $8C, $FC, $A8, $5B, $89, $A6, $55, $DE)
; Identificateur EncoderScanMethod

  Identifie les réglages du mode de scan de l'encoder, y compris si une image est entrelacée ou non entrelacée.
    DefineGUID(EncoderScanMethod, $3A4E2661, $3109, $4E56, $85, $36, $42, $C1, $56, $E7, $DC, $FA)
; Identificateur EncoderTransformation

  Identifie les réglages de transformation de l'encodeur.
    DefineGUID(EncoderTransformation, $8D0EB2D1, $A58E, $4EA8, $AA, $14, $10, $80, $74, $B7, $B6, $F9)

; Identificateur EncoderVersion
  Identifie la version logiciel de l'encodeur.
    DefineGUID(EncoderVersion, $24D18C76, $814A, $41A4, $BF, $53, $1C, $21, $9C, $CC, $F7, $97)

(Gdiplus 1.1 uniquement)

; Identificateur EncoderColorSpace
    DefineGUID(EncoderColorSpace, $AE7A62A0, $EE2C, $49D8, $9D, $7, $1B, $A8, $A9, $27, $59, $6E) 

; Identificateur EncoderImageItems
    DefineGUID(EncoderImageItems, $63875E13, $1F1D, $45AB, $91, $95, $A2, $9B, $60, $66, $A6, $50)  

; Identificateur EncoderSaveAsCMYK 
DefineGUID(EncoderSaveAsCMYK,$A219BBC9, $A9D, $4005, $A3, $EE, $3A, $42, $1B, $8B, $B0, $6C)


Effect GUIDs

Les constantes suivantes représentent les GUID qui identifient ces formats d'image.
Définitions au format Framework For Creating COM Objects
(Gdiplus 1.1 uniquement)

; Identificateur BlurEffectGuid
    DefineGUID(BlurEffectGuid, $633C80A4, $1843, $482B, $9E, $F2, $BE, $28, $34, $C5, $FD, $D4)

; Identificateur BrightnessContrastEffectGuid
    DefineGUID(BrightnessContrastEffectGuid, $D3A1DBE1, $8EC4, $4c17, $9F, $4C, $EA, $97, $AD, $1C, $34, $3D)

; Identificateur ColorBalanceEffectGuid
    DefineGUID(ColorBalanceEffectGuid, $537E597D, $251E, $48dA, $96, $64, $29, $CA, $49, $6B, $70, $F8)

; Identificateur ColorCurveEffectGuid
    DefineGUID(ColorCurveEffectGuid, $DD6A0022, $58E4, $4A67, $9D, $9B, $D4, $8E, $B8, $81, $A5, $3D) 

; Identificateur ColorLUTEffectGuid
    DefineGUID(ColorLUTEffectGuid, $A7CE72A9, $0F7F, $40d7, $B3, $CC, $D0, $C0, $2D, $5C, $32, $12)

; Identificateur ColorMatrixEffectGuid
    DefineGUID(ColorMatrixEffectGuid, $718F2615, $7933, $40E3, $A5, $11, $5F, $68, $FE, $14, $DD, $74)

; Identificateur HueSaturationLightnessEffectGuid
    DefineGUID(HueSaturationLightnessEffectGuid, $8B2DD6C3, $EB07, $4D87, $A5, $F0, $71, $08, $E2, $6A, $9C, $5F)

; Identificateur LevelsEffectGuid
    DefineGUID(LevelsEffectGuid, $99C354EC, $2A31, $4f3A, $8C, $34, $17, $A8, $03, $B3, $3A, $25)

; Identificateur RedEyeCorrectionEffectGuid
    DefineGUID(RedEyeCorrectionEffectGuid, $74D29D05, $69A4, $4266, $95, $49, $3C, $C5, $28, $36, $B6, $32)

; Identificateur SharpenEffectGuid
    DefineGUID(SharpenEffectGuid, $63CBF3EE, $C526, $402C, $8F, $71, $62, $C5, $40, $BF, $51, $42)

; Identificateur TintEffectGuid
    DefineGUID(TintEffectGuid, $1077AF00, $2848, $4441, $94, $89, $44, $AD, $4C, $2D, $7A, $2C)