tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: GetDIbitsの使用方法について
投稿日: 2014/03/16(Sun) 14:18
投稿者還暦手習い
魔界の仮面弁士様 ご指導ありがとうございます。

この掲示板は時系列的に表示順がおかしくなっていますね。
昨日いただいたNo.15860が今日私が送信したNo.15861より後に表示されています。
私が送信する際、魔界の仮面弁士様のNo.15860がなかったため、ちぐはぐな投稿
になったことをお詫びします。

Picture1でGetDIBitsが成功できている?こちらでのSAMPLEを記載させていただ
ます。

Sub DETECT_PIC(PIC As String)

'※「PIC」は"Picture1"や"Picture2"を都度送っています。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dim bmpinfo As BITMAPINFO
Dim hbm     As Long, ohbm As Long
                            
With Me
'初期化
    bmpinfo.biBitCount = 32
    bmpinfo.biHeight = .Controls(PIC).ScaleHeight
    bmpinfo.biPlanes = 1
    bmpinfo.biSize = 40
    bmpinfo.biWidth = .Controls(PIC).ScaleWidth

'ビットマップ作成
hbm = CreateCompatibleBitmap(.Controls(PIC).hdc, .Controls(PIC).ScaleWidth, _
      .Controls(PIC).ScaleHeight)
        
'選択中のビットマップにはGetDIBitsが使えない
'ので空のビットマップをセット
ohbm = SelectObject(.Controls(PIC).hdc, hbm)

Debug.Print ohbm  ←※ゼロ以外の数値が表示されます
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

'配列の宣言
ReDim pixel(.Controls(PIC).ScaleWidth - 1, .Controls(PIC).ScaleHeight - 1) As Long

'高さを−にするとビットマップが逆転する
bmpinfo.biHeight = -bmpinfo.biHeight

'色を取得,Pixel配列には画像の色が入る
GetDIBits .Controls(PIC).hdc, ohbm, 0, .Controls(PIC).ScaleHeight, _
            pixel(0, 0), bmpinfo, 0    '※その他の処理でpixel()が利用できています。
                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。