↑  ←  Описание функции


_GDIPlus_BitmapCreateHBITMAPFromBitmap

Создаёт дескриптор Bitmap из объекта Bitmap

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

Параметры

$hBitmap Дескриптор объекта Bitmap
$iARGB [необязательный] Цвет объекта, который определяет цвет фона

Возвращаемое значение

Успех:Возвращает дескриптор HBITMAP
Ошибка:Возвращает 0

Примечания

При завершении использования объекта Bitmap, необходимо вызвать функцию _WinAPI_DeleteObject, чтобы освободить ресурсы.

См. также

_WinAPI_DeleteObject

См. также

Искать GdipCreateHBITMAPFromBitmap в библиотеке MSDN

Пример

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

_Main()

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

    ; Инициализация библиотеки GDI+
    _GDIPlus_Startup ()

    ; Capture 32 bit bitmap
    $hBMP = _ScreenCapture_Capture ("")
    $hImage = _GDIPlus_BitmapCreateFromHBITMAP ($hBMP)

    ; Create 24 bit bitmap clone
    $iX = _GDIPlus_ImageGetWidth ($hImage)
    $iY = _GDIPlus_ImageGetHeight ($hImage)
    $hClone = _GDIPlus_BitmapCloneArea ($hImage, 0, 0, $iX, $iY, $GDIP_PXF24RGB)

    ; Save bitmap to file
    _GDIPlus_ImageSaveToFile ($hClone, @TempDir & "\GDIPlus_Image.bmp")

    ; Очищает ресурсы
    _GDIPlus_BitmapDispose ($hClone)
    _GDIPlus_BitmapDispose ($hImage)
    _WinAPI_DeleteObject ($hBMP)

    ; Load image
    $hImage = _GDIPlus_ImageLoadFromFile (@TempDir & "\GDIPlus_Image.bmp")
    $hBMP = _GDIPlus_BitmapCreateHBITMAPFromBitmap ($hImage)

    ; Save bitmap to file
    _ScreenCapture_SaveImage (@tempdir & "\image.bmp", $hbmp, True) ; True -> $hBMP destroyed

    ; Clean up resource
    _GDIPlus_ImageDispose ($hImage)

    ; Закрывает библиотеку GDI+
    _GDIPlus_ShutDown ()

EndFunc   ;==>_Main