Function Reference

_GDIPlus_BitmapCreateHBITMAPFromBitmap

Bitmapオブジェクトからビットマップのハンドルを作成します。

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

 

パラメータ

$hBitmap Bitmapオブジェクトのハンドル
$iARGB [オプション]背景色を指定するColorオブジェクト

 

返し値

成功: HBITMAPのハンドル
失敗: 0

 

注意

Bitmapオブジェクトの使用後は_WinAPI_DeleteObjectを呼んでリソースを解放してください。

 

関連

_WinAPI_DeleteObject

 

こちらも参照

MSDNライブラリでGdipCreateHBITMAPFromBitmapを検索して下さい。

 


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

Opt('MustDeclareVars', 1)

_Main()

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

    ; GDI+ライブラリを初期化
    _GDIPlus_Startup ()

    ; 32ビットのビットマップをキャプチャ
    $hBMP = _ScreenCapture_Capture ("")
    $hImage = _GDIPlus_BitmapCreateFromHBITMAP ($hBMP)

    ; 24ビットのビットマップクローンを作成
    $iX = _GDIPlus_ImageGetWidth ($hImage)
    $iY = _GDIPlus_ImageGetHeight ($hImage)
    $hClone = _GDIPlus_BitmapCloneArea ($hImage, 0, 0, $iX, $iY, $GDIP_PXF24RGB)

    ; ビットマップをファイルに保存
    _GDIPlus_ImageSaveToFile ($hClone, @TempDir & "\GDIPlus_Image.bmp")

    ; リソースを破棄
    _GDIPlus_BitmapDispose ($hClone)
    _GDIPlus_BitmapDispose ($hImage)
    _WinAPI_DeleteObject ($hBMP)

    ; 画像をロード
    $hImage = _GDIPlus_ImageLoadFromFile (@TempDir & "\GDIPlus_Image.bmp")
    $hBMP = _GDIPlus_BitmapCreateHBITMAPFromBitmap ($hImage)

    ; ビットマップをファイルに保存
    _ScreenCapture_SaveImage (@TempDir & "\Image.bmp", $hBMP, True) ; True -> $hBMP destroyed

    ; リソースを破棄
    _GDIPlus_ImageDispose ($hImage)

    ; GDI+ライブラリを閉じる
    _GDIPlus_ShutDown ()

EndFunc   ;==>_Main