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