dポイントプレゼントキャンペーン実施中!

VB6を使いbmpファイルの指定行のビットを抜出したいのですが可能でしょうか。

例)AAA.bmpの左端上から10行目のビット抜出す

A 回答 (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)

といった具合です

この回答への補足

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

補足日時:2007/08/17 13:32
    • good
    • 0
この回答へのお礼

以下のようにすることで解決できました。本当にありがとうございます

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

お礼日時:2007/08/17 13:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!