デバイスコンテキストをファイル出力するには?


かい  2004-01-14 18:42:20  No: 53018  IP: [192.*.*.*]

よろしくお願いします。

デバイスコンテキスト上に出力されている画像(画像なのでしょうか?)を
ファイル出力して保存を行いたいのですが。
その際、ビットマップ、DIB形式のどちらでも構わないです。
どのように行うのでしょうか?

どうか、助けていただけませんか。

編集    削除
YuO  2004-01-14 22:37:34  No: 53019  IP: [192.*.*.*]

> デバイスコンテキスト上に出力されている画像(画像なのでしょうか?)を
> ファイル出力して保存を行いたいのですが。
> その際、ビットマップ、DIB形式のどちらでも構わないです。
> どのように行うのでしょうか?

GetCurrentObjectでHDCからHBITMAPを取得できます。
GetObjectでHBITMAPからBITMAPを取得できます。
GetDIBitsでHDCとHBITMAPからビットマップのビット列を取得できます。

あとは,得た情報からヘッダを作って,ファイルにしてやればよいです。

GetCurrentObject : http://msdn.microsoft.com/library/en-us/gdi/devcons_61tg.asp
GetObject : http://msdn.microsoft.com/library/en-us/gdi/devcons_912s.asp
BITMAP Structure : http://msdn.microsoft.com/library/en-us/gdi/bitmaps_2h6a.asp
GetDIBits : http://msdn.microsoft.com/library/en-us/gdi/bitmaps_7gms.asp
BITMAPFILEHEADER structure : http://msdn.microsoft.com/library/en-us/gdi/bitmaps_62uq.asp
BITMAPINFO structure : http://msdn.microsoft.com/library/en-us/gdi/bitmaps_0zn6.asp
BITMAPINFOHEADER structure : http://msdn.microsoft.com/library/en-us/gdi/bitmaps_1rw2.asp

編集    削除
かい  2004-01-15 00:57:09  No: 53020  IP: [192.*.*.*]

返信ありがとうございました。

お恥ずかしながら
>あとは,得た情報からヘッダを作って,ファイルにしてやればよいです。
が不明です。
調べましたが、さっぱりな状態です。


つまり、ビットマップファイル用にヘッダーを作成する。(のですよね?)
その後、ファイルに書き込むのですよね?

なんとなく方法はわかるのですが、手が進まずです。
甘ったるい若者ではございますが、もう少し具体的に教えていただけますか。

編集    削除
YuO  2004-01-15 01:26:47  No: 53021  IP: [192.*.*.*]

> お恥ずかしながら
> >あとは,得た情報からヘッダを作って,ファイルにしてやればよいです。
> が不明です。
> 調べましたが、さっぱりな状態です。
> つまり、ビットマップファイル用にヘッダーを作成する。(のですよね?)
> その後、ファイルに書き込むのですよね?

BITMAPFILEHEADERのMSDNから,Bitmap Storageへのリンクがはってありますが,読みましたか?
http://msdn.microsoft.com/library/en-us/gdi/bitmaps_4v1h.asp
一番最初にやることは,ファイルの構造を知ることだと思いますよ。

関連しそうなページ
創作プログラミングの街 http://www.sm.rim.or.jp/~shishido/

編集    削除