• ベストアンサー

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

  • OpenCVで出力を24bitのbmpにするには?

    OpenCVを使って画像処理(ラべリングなど)をしたのですが、出力を24bitのbmp形式の画像で出力させたいです。 ビット深度?(8bitのbmp形式から24bitのbmp形式)を変更させることはできますか? 自分でいろいろ調べたのですが、いまいち分からなくて困っています。 もしわかる方がいらっしゃれば是非教えてください。 OpenCV2.4.6,VisualC++2010を用いています。 入力画像は白黒画像で、24bitのbmp形式の画像です。 ですが、OpenCVで画像処理させると8bitのbmp画像として出力されます。(ラべリングなどの処理をした後の画像) 他のプログラムで24bitのbmp形式で処理させているため8bitのbmp形式の画像を24bitのbmp画像に変更させたいのですが、変更する方法がわかる方がいればぜひ教えてください。 私自身、プログラムは大学の授業レベル、OpenCVは使い始めて数ヶ月なので詳しくないです。 よろしくお願いします。

  • VC#での24ビットbmp形式での保存方法

    VC#でbmpファイルで保存する場合、以下のようにImageFormat.Bmpとすると思いますが、これだと32ビットbmp形式で出力されます。 24ビットbmpで出力する方法はないでしょうか? if (saveFileDialog1.ShowDialog() == DialogResult.OK) { pb1.Image.Save(saveFileDialog1.FileName,ImageFormat.Bmp); }

  • VB.net 透過のBMP画像を作成するには?

    Color.FromArgbで アルファ値をセットしてセーブしてるのですが、 そのファイルを開いて、アルファ値を取得すると 255になっています。 VB.netで 透過のBMP画像を作成する方法を 教えてください。

  • Excel2003でBMPを整列・配置

    Excel2003に、BMPを挿入または貼り付けし、m列×n行に 整列・配置したいと考えています。 例:30枚のBMPファイルを3列×10行に配置する 今は、「複数オブジェクトの選択」「左右に整列」 「上下に整列」「上揃え」「左揃え」等を使用して 手動で整列・配置しているのですが、これよりも手間のかからない 方法でBMPを整列させる方法を具体的に 教えていただけませんでしょうか。 (BMPを配置する行列数とBMPが保存されているフォルダを 指定すると自動的にBMPを配置してくれるようなものが最も理想です) VBA、他のソフトを使用する等、方法は問いません。 よろしくお願いいたします。

  • excel に bmpファイルを貼り付け

    excelファイルにbmpを貼り付けようと思っているのですが、 1bmpファイルが大き過ぎて困っています  どのようにすると小さくなるのでしょうか? bmpファイルは ペイントを用いて ファイルの種類:24ビット ビットマップ(*.bmp;*.dib) にて保存したものです

  • Windows7、64bitのVB6ランタイム

    Access2003で作成したファイルをWindows7、32bitのAccess2013で使用しています。 VB6が動かないという話だったので、VB6RTEST Ver.3.40というVB6ランタイムをインストールして動かしています。 この度、Windows7の64bitにAccess2013を入れて、上記のファイルを動かそうとしたら、VB6RTEST Ver.3.40をインストールした後も、VBエラーが出てしまいました。 この場合の対処方法を知っていたら教えてください。 よろしくお願いします。

  • VB2005でJpgファイルの比較

    VB2005で、Jpgファイルが同じ画像か?どうか判定する方法を模索しています。ファイルサイズだけでは、一概に言えないと思いますので、どなたか詳しい方いらっしゃいましたら、教えていただけないでしょうか? BMPだと、一つ一つのビットの比較になるのでしょうか?それとも、CRCチェックみたいな方法があるのでしょうか? よろしくお願いします。

  • 24ビットビットマップから拡張子[.bmp]を[.ico]に変える。

    eマークのアイコンを自作アイコに変えたいのですがうまく行きません ペイントで作成した、ファイルを[名前を付けて保存]を選択クリック→ファイル名を入れ→ファイルの種類(T)で24ビットビットマップを選択して保存。 ここから出来ません。 保存したファイルの拡張子[.bmp]を[.ico]に変える。 win vista使用

  • VB2.0で作られたプログラムは64ビットの

    VB2.0で作られたプログラム(かなり古いです)は64ビットのウインドウズパソコンでは実行できないのでしょうか。 今まで32ビットのVISTA上では実行できていましたが、新しく買ったwin7(64ビット)では実行されません。 なぜか教えていただけたらうれしいです。

  • BMPオプション

    Photoshop で加工した画像をBMP で保存する時、BMPオプションが表示されます。 【ファイル形式】【深さ】の指定はどうすれば良いのでしょうか。【ファイル形式】を(windows標準)、【深さ】を(32bit)で保存し、プリント店に持ち込みましたが読み取りができませんでした。