AlphaBlend()関数


BOOL AlphaBlend(
 HDC hdcDest,
 int nXOriginDest,
 int nYOriginDest,
 int nWidthDest,
 int nHeightDest,
 HDC hdcSrc,
 int nXOriginSrc,
 int nYOriginSrc,
 int nWidthSrc,
 int nHeightSrc,
 BLENDFUNCTION blendFunction
);


透明または半透明のピクセルがあるビットマップを表示します。

hdcSrc転送先デバイスコンテキストへのハンドル。
xDest転送先四角形の左上隅のx座標。
yDest転送先四角形の左上隅のy座標。
nDestWidth転送先四角形の幅。
nDestHeight転送先四角形の高さ。
hdcSrc転送元デバイスコンテキストへのハンドル。
xSrc転送元四角形のx座標。
ySrc転送元四角形のy座標。
nSrcWidth転送元四角形の幅。
nSrcHeight転送元四角形の高さ。
blendFunctionBLENDFUNCTION 構造体を指定します。



typedef struct _BLENDFUNCTION {
 BYTE BlendOp;
 BYTE BlendFlags;
 BYTE SourceConstantAlpha;
 BYTE AlphaFormat;
}BLENDFUNCTION, *PBLENDFUNCTION, *LPBLENDFUNCTION;


BlendOp現時点ではAC_SRC_OVER以外の操作は定義されていない為、常にこの値を指定します。
BlendFlags常に0を指定します。
SourceConstantAlphaコピー元の画像をどの程度の割合で透明にするかを表す値で、0だと完全な透明で255が完全な上書きとなる不透明度を表します。
AlphaFormat32ビットマップを生成し、ビットマップがアルファ値を持つ場合は指定しますが、RGBカラーで構成される通常のビットマップであれば0を指定します。



static BLENDFUNCTION blendfunc = { AC_SRC_OVER, 0, 32, 0 };

AlphaBlend( hmdc, 0, 0, bitmap.bmWidth, bitmap.bmHeight,
hbitdc, 0, 0, bitmap.bmWidth, bitmap.bmHeight, blendfunc );

Windows > グラフィック | comments (0) | trackbacks (0)

Comments

Comment Form

icons:

Trackbacks