31.デバイスコンテキストから他のデバイスコンテキストへコピーする



< 使用用途 >
ビットマップをコピーしたり変化させる 
   


< 説明 >
API関数のBitBlt を使用します。
BitBlt =>ビットマップを変化させる    
  <引数>
      hDestDC: コピー先のデバイスコンテキスト
      x:    コピー先の左上隅のx座標
      y:    コピー先の左上隅のy座標
      nWidth: 転送される幅
      nHeight: 転送される高さ
      hSrcDC: コピー元のデバイスコンテキスト
      xSrc:  コピー元の左上隅のx座標
      ySrc:  コピー元の左上隅のy座標
      dwRop:  ラスタ操作(定数参照)
  @戻り値@  
      正常終了0以外


< SAMPLE >
'標準モジュール
Public Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidthAs Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long

Public Const SRCCOPY = &HCC0020   'コピー元をコピー
Public Const SRCPAINT = &HEE0086  'コピー元とコピー先をOR合成
Public Const SRCAND = &H8800C6   'コピー元とコピー先をAND合成
Public Const SRCINVERT = &H660046  'コピー元とコピー先をXOR合成
Public Const SRCERASE = &H440328 
Public Const NOTSRCCOPY = &H330008 'コピー元を反転してコピー
Public Const NOTSRCERASE = &H1100A6
Public Const MERGECOPY = &HC000CA
Public Const MERGEPAINT = &HBB0226
Public Const PATCOPY = &HF00021
Public Const PATPAINT = &HF80A09
Public Const PATINVERT = &H5A0049
Public Const DSTINVERT = &H550009 'コピー先を反転してコピー
Public Const BLACKNESS = &H42   'すべてを黒にしてコピー
Public Const WHITENESS = &HFF0062 'すべてを白にしてコピー

'ここからはフォームの処理
Private Sub Command1_Click()
   Dim Ret As Long
   ’picture1の画像をpicture2にコピーする
   Ret = BitBlt(Picture2.hDC, 0, 0, Picture1.Width, Picture1.Height, Picture1.hDC, 0, 0, SRCCOPY)
End Sub





API 技術関連のページへ戻る

ホーム PV ランキング