• ベストアンサー

VBでbmpのビットを抜出す

VB6を使いbmpファイルの指定行のビットを抜出したいのですが可能でしょうか。 例)AAA.bmpの左端上から10行目のビット抜出す

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

VB6でしたら一度 ピクチャーボックスなどに読み込んで Pointメソッドで座標指定してやれば取り出せますよ dim cl as long Set Picture1.Image = LoadPicture("aaa.bmp") Picture1.ScaleMode = vbPixels cl = Picture1.Point( 10, 0 ) といった具合です 取り出した情報は GGRRBB といった具合になっています 緑なら VAL(LEFT(RIGHT(HEX(cl)& "000000",6),2)) 赤なら VAL(MID(RIGHT(HEX(cl)& "000000",6),2)) 青なら VAL(RIGHT(RIGHT(HEX(cl)& "000000",6),2)) または 緑 = (cl And &HFF0000) / &H10000 赤 = (cl And &HFF00 ) / &H100 青 = (cl And &HFF) といった具合です

ShiroNeko
質問者

お礼

以下のようにすることで解決できました。本当にありがとうございます Private Sub Command1_Click() Dim c, r, g, b As Long Dim nx As Single Dim ny As Single '座標 nx = 100 ny = 100 c = Picture1.Point(nx, ny) 'RGB分解 r = (c And &HFF) g = (c And &HFF00&) \ &H100 b = (c And &HFF0000) \ &H10000 Text1.Text = r Text2.Text = g Text3.Text = b End Sub

ShiroNeko
質問者

補足

redfox63様  アドバイスありがとうございます。また、返事が遅くなり申し訳ございません。 アドバイス通りにプログラミングして見ましたがどうも上手く行きませんでしたもう少し研究してみます。

関連するQ&A