ビットマップをアルファ値に基づいてコピーする
Declare Function AlphaBlend lib "MSIMG32.dll" _
(ByVal hdcDest As Long, ByVal nXOriginDest As Long, _
ByVal nYOriginDest As Long, ByVal nWidthDest As Long, _
ByVal hHeightDest As Long, ByVal hdcSrc As Long, _
ByVal nXOriginSrc As Long, ByVal nYOriginSrc As Long, _
ByVal nWidthSrc As Long, ByVal nHeightSrc As Long, _
BlendFunction As BLENDFUNCTION) As Long
Declare Function AlphaBlend lib "MSIMG32.dll" _
(ByVal hdcDest As Integer, ByVal nXOriginDest As Integer, _
ByVal nYOriginDest As Integer, ByVal nWidthDest As Integer, _
ByVal hHeightDest As Integer, ByVal hdcSrc As Integer, _
ByVal nXOriginSrc As Integer, ByVal nYOriginSrc As Integer, _
ByVal nWidthSrc As Integer, ByVal nHeightSrc As Integer, _
BlendFunction As BLENDFUNCTION) As Integer
AlphaBlend(
HDC hdcDest,
int nXOriginDest,
int nYOriginDest,
int nWidthDest,
int hHeightDest,
HDC hdcSrc,
int nXOriginSrc,
int nYOriginSrc,
int nWidthSrc,
int nHeightSrc,
BLENDFUNCTION blendFunction
);
System.Drawing.Graphics.DrawImage
コピー先のデバイスコンテキストのハンドルnXOriginDest
描画する位置の左上隅のX座標nYOriginDest
同、Y座標nWidthDest
同、幅hHeightDest
同、高さhdcSrc
コピー元のデバイスコンテキストのハンドルnXOriginSrc
同、左上隅のX座標nYOriginSrc
同、Y座標nWidthSrc
同、幅nHeightSrc
同、高さBlendFunction
アルファブレンド値を定義するBLENDFUNCTION構造体戻り値
正常終了のとき 0以外備考
エラーのとき 0
この関数は、ピクセルあたりの32ビットのビットマップを対象として、コピー先の
背景色に対してピクセルごとの色のブレンド(混ぜ具合)の度合いを指定してコピーできる。
例えば、コピー先の背景色に対して透明度を設定できる。
16色や256色のビットマップを透明色を指定してコピーする場合はTransparentBlt()関数を使う。
コピー元とコピー先のサイズが違う場合は、コピー先のサイズに拡大・縮小される。
コピー元とコピー先にカラー情報が異なるとき、コピー先の設定にあわせる。
この関数は、StretchBlt()関数のように、幅または高さにマイナス値を設定する
ミラーリングはサポートしていない。
コピー元のデバイスコンテキストが拡張メタファイルデバイスコンテキストのときエラーになる。