Gibt den Typ (Bitmap oder Metadatei) eines Bildes zurück
#Include <GDIPlus.au3>
_GDIPlus_ImageGetType($hImage)
Parameter
| $hImage | Handle zu einem Bild-Objekt |
Rückgabewert
| Erfolg: | Integer des Bildtyps |
| $GDIP_IMAGETYPE_UNKNOWN - Keine Bitmap Datei oder durch GDI+ nicht als Bitmap Datei identifiziert | |
| $GDIP_IMAGETYPE_BITMAP - Bitmap Typen: BMP, PNG, GIF, JPEG, TIFF, ICO, EXIF | |
| $GDIP_IMAGETYPE_METAFILE - Metadateitypen: EMF, WMF | |
| Fehler: | Gibt -1 zurück und @error wird gesetzt |
| @error: | 0 - kein Fehler. |
| 10 - ungültiges Bildhandle |
Bemerkungen
@error 4 basiert auf GDI+ UDF, welche -1 oder 0 anstelle von Bildhandles für Fehler zurückgegeben wird
Verwandte Funktionen
_GDIPlus_ImageGetRawFormat
Siehe auch
Suche in der MSDN Bibliothek nach GdipGetImageType
Beispiel
#AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <ScreenCapture.au3>
#include <WinAPI.au3>
Opt('MustDeclareVars', 1)
Global $iMemo
_Main()
Func _Main()
Local $hBitmap, $hImage, $iImageType, $sImageType
; Erstellt eine GUI
GUICreate("GDI+", 600, 400)
$iMemo = GUICtrlCreateEdit("", 2, 2, 596, 396, $WS_VSCROLL)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
GUISetState()
; Initialisiert (startet) Microsoft Windows GDI+
_GDIPlus_Startup()
; Erstellt vom kompletten Bildschirm einen Screenshot und erzeugt daraus eine 32 bit Bitmap
$hBitmap = _ScreenCapture_Capture("")
$hImage = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap)
$iImageType = _GDIPlus_ImageGetType($hImage)
Switch $iImageType
Case $GDIP_IMAGETYPE_UNKNOWN
$sImageType = "Unbekanntes Bitmap Format oder keine Bilddatei"
Case $GDIP_IMAGETYPE_BITMAP ; BMP, PNG, GIF, JPEG, TIFF, ICO, EXIF
$sImageType = "Bitmap"
Case $GDIP_IMAGETYPE_METAFILE ; EMF, WMF
$sImageType = "Metafile"
EndSwitch
; Zeigt den Bildtyp: Unbekannt = 0, Bitmap = 1, Metafile = 2)
MemoWrite("Bildtyp: " & $sImageType);
; Ressourcen freigeben
_GDIPlus_ImageDispose($hImage)
_WinAPI_DeleteObject($hBitmap)
; Gibt die durch Microsoft Windows GDI+ verwendeten Ressourcen wieder frei
_GDIPlus_Shutdown()
; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
; Gibt eine Zeile im Memo-Fenster aus
Func MemoWrite($sMessage = '')
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite