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(Picture1.hDC, 100, 100, 32, 32, _ Picture2.hDC, 0, 0, SRCCOPY) |
Ret…関数が成功したかどうかが返ります。 0以外…関数成功 0 …関数失敗 Picture1.hDC…転送先のデバイスコンテキスト 100…転送される位置のX座標 100…転送される位置のY座標 32…転送する部分の幅 32…転送する部分の高さ Picture2.hDC…転送元のデバイスコンテキスト 0…転送元における転送する部分の左上のX座標 0…転送元における転送する部分の左上のY座標 SRCCOPY…転送方法 ☆転送方法 SRCCOPY…そのまま転送 SRCAND…転送先の画像とAND演算して転送 SRCPAINT…転送先の画像とOR演算して転送 SRCINVERT…転送先の画像とXOR演算して転送 NOTSRCCOPY…色を反転して転送 転送元と転送先のScaleModeは「3-ピクセル」に することをお勧めします。 自分自身には転送できないので、自分自身に転送する 場合は、一旦他に転送してから転送しなおして下さい。 転送元のPictureのAutoRedrawはTrueにしておいて下さい。 サンプルプログラムを見て頂ければ、わかりやすいか思います。↓ |
☆サンプルプログラム |
bitblt.lzh (9.79KB) |
Directory Reference | ||||
---|---|---|---|---|
|