Erstellt ein Bild-Objekt basierend auf einer Datei
#include <GDIPlus.au3>
_GDIPlus_ImageLoadFromFile ( $sFileName )
$sFileName | Kompletter Dateiname des Bildes |
Erfolg: | ein Handle zu dem neuen Bild |
Fehler: | 0 und setzt das @error Flag auf ungleich null. @extended kann den GPSTATUS Fehlercode ($GPID_ERR* siehe GDIPlusConstants.au3) enthalten. |
Wenn das Bild-Objekt nicht mehr benötigt wird, muss _GDIPlus_ImageDispose aufgerufen werden, um die Ressourcen wieder freizugeben.
_GDIPlus_ImageSaveToFile, _GDIPlus_ImageSaveToFileEx
Suche nach GdipLoadImageFromFile in der MSDN Bibliothek.
#include <GDIPlus.au3>
#include <ScreenCapture.au3>
Example()
Func Example()
Local $hImage, $sCLSID, $tData, $tParams
; Erstellt vom kompletten Bildschirm einen Screenshot
_ScreenCapture_Capture(@MyDocumentsDir & "\GDIPlus_Image.jpg")
; Initialisiert (startet) Microsoft Windows GDI+
_GDIPlus_Startup()
; Lädt ein Bild
$hImage = _GDIPlus_ImageLoadFromFile(@MyDocumentsDir & "\GDIPlus_Image.jpg")
; Gibt die Encoder CLSID für einen festgelegten Bild-Dateityp zurück
$sCLSID = _GDIPlus_EncodersGetCLSID("JPG")
; Setzt die Parameter für eine 90 Grad Rotation
$tData = DllStructCreate("int Data")
DllStructSetData($tData, "Data", $GDIP_EVTTRANSFORMROTATE90)
$tParams = _GDIPlus_ParamInit(1)
_GDIPlus_ParamAdd($tParams, $GDIP_EPGTRANSFORMATION, 1, $GDIP_EPTLONG, DllStructGetPtr($tData, "Data"))
; Speichert das rotierte Bild
_GDIPlus_ImageSaveToFileEx($hImage, @MyDocumentsDir & "\GDIPlus_Image2.jpg", $sCLSID, $tParams)
; Ressourcen freigeben
_GDIPlus_ImageDispose($hImage)
; Gibt die durch Microsoft Windows GDI+ verwendeten Ressourcen wieder frei
_GDIPlus_Shutdown()
ShellExecute(@MyDocumentsDir & "\GDIPlus_Image2.jpg")
EndFunc ;==>Example
; PNG work around by Zedna
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <WinAPIGdi.au3>
#include <WindowsConstants.au3>
; Create GUI
Global $g_hGUI = GUICreate("Show PNG", 250, 250)
; Load PNG image
_GDIPlus_Startup()
Global $g_hImage = _GDIPlus_ImageLoadFromFile("..\GUI\Torus.png")
Global $g_hGraphic = _GDIPlus_GraphicsCreateFromHWND($g_hGUI)
GUIRegisterMsg($WM_PAINT, "MY_WM_PAINT")
GUISetState(@SW_SHOW)
; Loop until the user exits.
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
; Clean up resources
_GDIPlus_GraphicsDispose($g_hGraphic)
_GDIPlus_ImageDispose($g_hImage)
_GDIPlus_Shutdown()
; Draw PNG image
Func MY_WM_PAINT($hWnd, $iMsg, $wParam, $lParam)
#forceref $hWnd, $iMsg, $wParam, $lParam
_WinAPI_RedrawWindow($g_hGUI, 0, 0, $RDW_UPDATENOW)
_GDIPlus_GraphicsDrawImage($g_hGraphic, $g_hImage, 0, 0)
_WinAPI_RedrawWindow($g_hGUI, 0, 0, $RDW_VALIDATE)
Return $GUI_RUNDEFMSG
EndFunc ;==>MY_WM_PAINT