【Class Library】


ビットマップを指定色で保存
 Visual BasicのSavePictureステートメントでは、問答無用に1677万色で保存 されてしまいます。そこでビットマップを指定色で保存できるプロシージャを 作り、それを利用しやすく?したものをここに掲載しました。 このクラスを使用すると、PictureBoxコントロールに描画されたものを16色, 256色,1677万色で保存することができます。
 保存の処理は、単にフォーマットに従ってバイナリデータをファイルに出力 していくものです。API関数も一切使用していません。欠点は、とにかく遅いこ とです。とてもじゃないけど実用性は、ありません。プログラムコードもかな り汚くて、わかりにくいです。
 とにかく16色,256色,1677万色で保存できるので、そんなものでよければ ダウンロードしてみて下さい。


★クラスの使用法★

 サンプルを見て頂ければわかると思いますが、次のように指定して使います。
(下のものは16色で保存)

      
    Dim msg As String
    Dim csb As New CBitmap
    On Error GoTo SAVE16

    Me.MousePointer = 11
    Call csb.SaveBitmap16(Picture1, Text1.Text, _
                   Picture1.Width, Picture1.Height)
    Me.MousePointer = 0
    Exit Sub

    SAVE16:
    Me.MousePointer = 0
    msg = Err.Description
    MsgBox msg, vbCritical

引数は順に、画像を保存したいPictureオブジェ,出力ファイル名,Pictureの幅,Pictureの高さです。


★使用上の注意★

 このクラスのプロシージャは、ピクセル単位で取り扱っています。従って、 FormとPictureオブジェのScaleModeが3でなければなりません。 また、PictureオブジェのAppearanceを0,BorderStyleを0にしておいて下さい。


(サンプルプログラムの動作確認)

機種 PC-9821V13S
OS Windows95
開発ツール Visual Basic Ver.4.0
更新日 99/10/10

ダウンロード SaveBitmap.lzh(5.23KB)

Visual Basic Ver.5.0,Ver.6.0でも問題なく動作すると思います。
なお、このコーナーに掲載されているプログラムコード、およびプログラムファ イルが原因で起きた損害などに関して一切の責任を負うことはできません。

★このコーナーに掲載されているプログラムコード、およびプログラムファ イルを無断で配布・転載することは、原則として禁止です。


Class Libraryインデックス トップページ


Copyright(C)1999-2000 Tomoya. All rights reserved.