Function Reference

_GDIPlus_BitmapCloneArea

指定された座標とフォーマットからBitmapオブジェクトのクローンを作成します。

#Include <GDIPlus.au3>
_GDIPlus_BitmapCloneArea($hBmp, $iLeft, $iTop, $iWidth, $iHeight[, $iFormat = 0x00021808])

 

パラメータ

$hBmp Bitmapオブジェクトのハンドル
$iLeft コピーする長方形の左上隅のX座標
$iTop コピーする長方形の左上隅のY座標
$iWidth コピーするビットマップ部分を指定する長方形の幅
$iHeight コピーするビットマップ部分を指定する長方形の高さ
$iFormat [オプション]新しいビットマップのピクセルのフォーマット:
$GDIP_PXF01INDEXED = 1bpp、インデックス済み
$GDIP_PXF04INDEXED = 4bpp、インデックス済み
$GDIP_PXF08INDEXED = 8bpp、インデックス済み
$GDIP_PXF16GRAYSCALE = 16bpp、グレースケール
$GDIP_PXF16RGB555 = 16bpp; 各RGB成分5ビット
$GDIP_PXF16RGB565 = 16bpp; 赤5ビット、緑6ビット、青5ビット
$GDIP_PXF16ARGB1555 = 16bpp; アルファ成分1ビット、各RGB成分5ビット
$GDIP_PXF24RGB = 24bpp; 各RGB成分8ビット
$GDIP_PXF32RGB = 32bpp; 各RGB成分8ビット、アルファ成分なし
$GDIP_PXF32ARGB = 32bpp; アルファ成分、各RGB成分8ビット
$GDIP_PXF32PARGB = 32bpp; アルファ成分、各RGB成分8ビット。プリマルチプライ済み
$GDIP_PXF48RGB = 48bpp; 各RGB成分16ビット
$GDIP_PXF64ARGB = 64bpp; アルファ成分、各RGB成分16ビット
$GDIP_PXF64PARGB = 64bpp; アルファ成分、各RGB成分16ビット。プリマルチプライ済み

 

返し値

成功: 新しいBitmapオブジェクトのハンドルを返します
失敗: 0

 

注意

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

 

関連

_GDIPlus_BitmapDispose, _GDIPlus_ImageGetPixelFormat

 

こちらも参照

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

 


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

Opt('MustDeclareVars', 1)

_Main()

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

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

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

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

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

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

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

EndFunc   ;==>_Main