[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/10/27(Fri) 00:51
投稿者名:あざわ
Eメール:
URL :
タイトル:
配列中の画像データをBMPファイルで保存する方法
VB6.0で画像処理の勉強をしているのですが、行き詰まってしまったので質問させてください。

一次元配列Bmp()に画像のビットマップデータ?が入っている状態です。
画像の縦横のサイズをHeightとWidthで表し,以下のように書くと
ピクチャーボックスに画像が表示されるので,

    z = 0
    For y = Height - 1 To 0 Step -1
        For x = 0 To Width - 1
            w = Bmp(z)
            rr = (w \ 65536) And 255&
            gg = (w \ 256&) And 255&
            bb = (w) And 255&
            
            picture1.PSet (x, y), RGB(rr, gg, bb)
            z = z + 1
        Next
    Next

その後、Savepictureで画像を保存していたのですが、ピクチャーボックスに
画像を表示すると時間がかかります、できればピクチャーボックスに表示せずに
保存したいのですが、どんなAPI?があるのか想像もつかない状態です。
お助けください〜〜。

あと、上に書いたピクチャーボックスに表示するプログラムを高速化するために、
SetDIBitsというAPIを使うのは妥当なんでしょうか?

投稿時間:2006/10/27(Fri) 09:35
投稿者名:
Eメール:
URL :
タイトル:
Re: 配列中の画像データをBMPファイルで保存する方法
> あと、上に書いたピクチャーボックスに表示するプログラムを高速化するために、
> SetDIBitsというAPIを使うのは妥当なんでしょうか?
妥当だと思います

投稿時間:2006/10/27(Fri) 13:10
投稿者名:ダンボ
Eメール:
URL :
タイトル:
Re: 配列中の画像データをBMPファイルで保存する方法
> 画像を表示すると時間がかかります、できればピクチャーボックスに表示せずに
> 保存したいのですが、どんなAPI?があるのか想像もつかない状態です。

picture1.Visible = False

でいいんじゃないですか?

投稿時間:2006/10/27(Fri) 15:00
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: 配列中の画像データをBMPファイルで保存する方法
> 一次元配列Bmp()に画像のビットマップデータ?が入っている状態です。

> できればピクチャーボックスに表示せずに保存したいのですが、
> どんなAPI?があるのか想像もつかない状態です。


BITMAPFILEHEADER / BITMAPINFOHEADER を付加して、Put # ステートメントで
直接 BMP ファイルとして保存するとか。