PictureBOXで16色ビットマップ形式で保存するにはどうしたらよいのでしょう。
現在の状況はSavePictureで保存しています。
なにかいいAPIなどがありましたらよろしくお願いします。
簡単に思いつく範囲で、経路は2つあります。
A,16色DIBであるPictureを作って、SavePictureで保存する。
CreateDIBSection、SetDIBColorTable、OleCreatePictureIndirect
他幾つかのAPI関数を用います。
B,API関数のGetDIBitsで16色DIBをあらわすデータを取得して
それをファイルに保存する。
回答ありがとうございます。とりあえず上記の方法を試してみたいと思います。
VB講座支部 No.21の「256色BMP保存サンプル」を改良しようかと思いましたがうまくいきません。改良方法等ありましたらよろしくお願いします。
どんなコードを書いてどううまく行かないのか、がわかりません。
おそらくKoneさんのところのを言っているのでしょうが、まず、
その内容を正しく把握することから始めまてください。
# ちなみに、そのサンプルに減色機能はなかったはず。
K.J.Kさん回答ありがとうございます。
使用している色は16色カラーテーブルの色なんですが
白の部分が他の色とシマシマになります。
減色機能が無いのは分かっていましたが減色処理を行わなければ
ダメなのでしょうか?
GDI任せの減色が嫌ならば、自力で行うしかありません。
結局できませんでしたが、png形式でやりたいことが達成できました。
完全な解決は出来ませんでしたが長い間ありがとうございました。
ツイート | ![]() |