BitBlt過)
画像をアイコンのように、一部透過させて転送

☆宣言
'▼Windows APIの宣言
Declare Function BitBlt Lib "gdi32" ( _
  ByVal hDestDC As Long, _
  ByVal x As Long, _
  ByVal y As Long, _
  ByVal nWidth As Long, _
  ByVal nHeight As Long, _
  ByVal hSrcDC As Long, _
  ByVal xSrc As Long, _
  ByVal ySrc As Long, _
  ByVal dwRop As Long _
) As Long

'▼定数の宣言
Global Const SRCCOPY = &HCC0020    'そのまま転送
Global Const SRCAND = &H8800C6     '転送先の画像とAND演算して転送
Global Const SRCPAINT = &HEE0086   '転送先の画像とOR演算して転送
Global Const SRCINVERT = &H660046  '背景を反映して色を反転して転送
Global Const NOTSRCCOPY = &H330008 '色を反転して転送
☆使用例と使用例のパラメータ
Ret = BitBlt(PicDisp.hDC, 200, 100, 32, 32, _
Picture2.hDC, 0, 0, SRCPAINT)

Ret = BitBlt(PicDisp.hDC, 200, 100, 32, 32, _
Picture1.hDC, 0, 0, SRCAND)
細かいパラメータについてはBitBlt(*)参照。

PicDispにPicture2のマスク画像を使用してPicture1の画像を
PicDispの(200,100)の位置に画像(32,32)分透過転送します。

サンプルプログラムを見て頂ければ、わかりやすいか思います。↓
☆サンプルプログラム
bitblt2.lzh (36.3KB)


Directory Reference
Top page
 Visual Basic Room
  Windows API (戻る)
   BitBlt(一部透過)