Retourne le type (bitmap ou métafichier) d'une image
#include <GDIPlus.au3>
_GDIPlus_ImageGetType ( $hImage )
$hImage | Handle de l'objet image |
Succès: | Retourne un entier représentant le type d'image: $GDIP_IMAGETYPE_UNKNOWN - Fichier non bitmap ou non identifié comme bitmap par GDI+ $GDIP_IMAGETYPE_BITMAP - Types de bitmap: BMP, PNG, GIF, JPEG, TIFF, ICO, EXIF $GDIP_IMAGETYPE_METAFILE - Types de métafichier: EMF, WMF |
Échec: | Retourne -1 et définit @error <> 0, @extended contient le code erreur GPSTATUS ($GPID_ERR*). |
@error: | 10 - Type d'image invalide. 11 - Handle d'image invalide. |
Consultez GdipGetImageType dans la Librairie MSDN.
#include <GDIPlus.au3> #include <GUIConstantsEx.au3> #include <ScreenCapture.au3> #include <WinAPIHObj.au3> #include <WindowsConstants.au3> Global $g_idMemo Example() Func Example() Local $hBitmap, $hImage, $iImageType, $sImageType ; Crée une GUI GUICreate("GDI+", 600, 400) $g_idMemo = GUICtrlCreateEdit("", 2, 2, 596, 396, $WS_VSCROLL) GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New") GUISetState(@SW_SHOW) ; Initialise la bibliothèque GDI+ _GDIPlus_Startup() ; Capture un bitmap 32 bits $hBitmap = _ScreenCapture_Capture("") $hImage = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap) $iImageType = _GDIPlus_ImageGetType($hImage) Switch $iImageType Case $GDIP_IMAGETYPE_UNKNOWN $sImageType = "Unrecognized bitmap format or not image file" Case $GDIP_IMAGETYPE_BITMAP ; BMP, PNG, GIF, JPEG, TIFF, ICO, EXIF $sImageType = "Bitmap" Case $GDIP_IMAGETYPE_METAFILE ; EMF, WMF $sImageType = "Metafile" EndSwitch ; Voir le type d'image : Unidentified = 0, Bitmap = 1, Metafile = 2 MemoWrite("Image type: " & $sImageType); ; Nettoie les ressources _GDIPlus_ImageDispose($hImage) _WinAPI_DeleteObject($hBitmap) ; Arrête la bibliothèque GDI+ _GDIPlus_Shutdown() ; Boucle jusqu'à ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE EndFunc ;==>Example ; Écrit une ligne dans le contrôle mémo Func MemoWrite($sMessage = '') GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1) EndFunc ;==>MemoWrite