- ベストアンサー
VB.NET/256色でのBMPファイル保存
いつもお世話になっております。 VS2003/VB.NET/XP Pro SP3 画像処理にアプリケーションを開発していますが、画像処理に関しての知識が乏しくて困っています。 Image.SaveメソッドでBMPファイル保存しようと思っているのですが、フルカラー保存ではなく、256色保存の方法が分かりません。 色々と調べてみたのですが、簡単な方法が見つからず、自前で処理をするしか方法がないのでしょうか? 256色への減色保存を経験がある方からのご教授が頂けると助かります。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
256色なら一度GIFに変換してから BMPにしてみてはいかがでしょう Dim img as Image = Image.FromFile("Sample01.jpg") img.Save("Sample02.gif", Imaging.ImageFormat.Gif) img = Image.FromFile("Sample02.gif") img.Save("Sample03.bmp",Imaging.ImageFormat.Bmp) といった具合で ... 最後の SaveメソッドにImaging.ImageFormat.Bmpを与えないほうがファイルサイズは小さいようです この差異まで調査していません
お礼
早速、回答を頂き、ありがとうございます。 こんな方法があるとは、思いも付きませんでした。 組んでみたら、ちゃんと256色でビットマップ保存ができました。 実際は、bmpファイルのSave後にimgを編集しますので、imgはPublicで定義してあります。 従って、FromFileでimgを作成するとgifファイルにロックが掛かってしまいますので、2回目のgifファイルの保存でエラーが発生します。 bmpファイルのSave後に、imgをDisposeして、FileStreamでOPENする工夫が必要ですが、非常に有意義な情報でした。 本当にありがとうございました。