Save::Imageでのビットマップ保存 – プログラミング – Home

Save::Imageでのビットマップ...
 
通知
すべてクリア

[解決済] Save::Imageでのビットマップ保存


モア
 モア
(@モア)
ゲスト
結合: 15年前
投稿: 2
Topic starter  

Image::Saveでビットマップを保存した場合、bppはPC画面の解像度に依存するのでしょ
うか?

現在Save関数を利用してビットマップを保存しているのですが、biBitCountが「32」で
保存されてしまいます。
これを「1:モノクロ」で保存したい場合はやはり自分でビットマップヘッダーやビット
配列などを作成するしかないのでしょうか?

Save関数でbiBitCountの変更についてご存知の方がおられたらご教授お願いいたしま
す。


引用未解決
トピックタグ
subaru
 subaru
(@subaru)
ゲスト
結合: 19年前
投稿: 381
 

これはGDI+の話でしょうか。
保存時の色深度は保存形式には依存しますがPC画面の解像度や色深度には依存しません。
32bitで保存されるのならImageが32bitで作成されていたのでしょう。

32bitのビットマップをモノクロに変換するためには
PixelFormat1bppIndexedのフォーマットでビットマップを作成して
各ピクセルをコピーする必要があります。
GDI+のGraphicsオブジェクトにはパレットを持つビットマップを選択できないので
LockBitsして8ピクセルを1バイトにまとめてコピーするしかなく割と面倒です。

>これを「1:モノクロ」で保存したい場合はやはり自分でビットマップヘッダーやビット
>配列などを作成するしかないのでしょうか?

GDIと組み合わせてやるならビットマップヘッダーを作成することになるし
GDI+のままやるならビット配列を作成することになりそうです。


返信引用
モア
 モア
(@モア)
ゲスト
結合: 15年前
投稿: 2
Topic starter  

ご回答ありがとうございました。
質問に対しての回答は得られたので解決とさせていただきます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました