Funktionsreferenz

_GDIPlus_BitmapCreateHBITMAPFromBitmap

Erstellt ein Handle zu einer Bitmap von einem Bitmap-Objekt

#Include <GDIPlus.au3>
_GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap[, $iARGB = 0xFF000000])

 

Parameter

$hBitmap Handle zu einem Bitmap-Objekt
$iARGB [optional] Farbobjekt, welches die Hintergrundfarbe festlegt

 

Rückgabewert

Erfolg: Handle zu einem HBITMAP
Fehler: 0

 

Bemerkungen

Wenn das Bitmap-Objekt nicht mehr benötigt wird, muss _WinAPI_DeleteObject aufgerufen werden, um die Ressourcen wieder freizugeben.

 

Verwandte Funktionen

_WinAPI_DeleteObject

 

Siehe auch

Suche in der MSDN Bibliothek nach GdipCreateHBITMAPFromBitmap

 

Beispiel


#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
#include <ScreenCapture.au3>

Opt('MustDeclareVars', 1)

_Main()

Func _Main()
    Local $hBMP, $hImage, $iX, $iY, $hClone

    ; Initialisiert (startet) Microsoft Windows GDI+
    _GDIPlus_Startup()

    ; Erstellt vom kompletten Bildschirm einen Screenshot und erzeugt daraus eine 32 Bit Bitmap
    $hBMP = _ScreenCapture_Capture ("")
    $hImage = _GDIPlus_BitmapCreateFromHBITMAP ($hBMP)

    ; Erzeugt eine Kopie einer 24 Bit Bitmap
    $iX = _GDIPlus_ImageGetWidth($hImage)
    $iY = _GDIPlus_ImageGetHeight($hImage)
    $hClone = _GDIPlus_BitmapCloneArea($hImage, 0, 0, $iX, $iY, $GDIP_PXF24RGB)

    ; Speichert das Bild in eine Datei
    _GDIPlus_ImageSaveToFile ($hClone, @TempDir & "\GDIPlus_Image.bmp")

    ; Ressourcen freigeben
    _GDIPlus_BitmapDispose ($hClone)
    _GDIPlus_BitmapDispose ($hImage)
    _WinAPI_DeleteObject ($hBMP)

    ; Lädt ein Bild
    $hImage = _GDIPlus_ImageLoadFromFile (@TempDir & "\GDIPlus_Image.bmp")
    $hBMP = _GDIPlus_BitmapCreateHBITMAPFromBitmap ($hImage)

    ; Speichert das Bild in eine Datei
    _ScreenCapture_SaveImage (@TempDir & "\Image.bmp", $hBMP, True) ; True -> $hBMP zerstört

    ; Ressourcen freigeben
    _GDIPlus_ImageDispose($hImage)

    ; Gibt die durch Microsoft Windows GDI+ verwendeten Ressourcen wieder frei
    _GDIPlus_Shutdown()

EndFunc   ;==>_Main