- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SetDIBitsToDeviceでpngを)
SetDIBitsToDeviceでpngを描画する際の引数指定方法
このQ&Aのポイント
- SetDIBitsToDevice関数を使用してpng画像を描画する際には、png画像の縦幅、横幅、およびビットマップ情報が必要です。
- この情報は、png画像のヘッダ情報やフォーマット情報から取得することができます。
- 具体的には、png画像のフォーマットを解析するライブラリやツールを使用して、ピクセルのサイズやビット深度、カラーパレットの有無などを取得することができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
png の必須チャンクであるIHDR イメージヘッダから幅と高さは持って来れると思います。 png画像は(当然)ビットマップ情報を持っていないのでそこは自力で作る必要があると思います。
補足
ありがとうございます。 幅と高さを簡単に得るためには専用のライブラリを使わないといけないのでしょうか? CONST VOID *lpvBits, // DIB ビットからなる配列 はファイルの先頭でよいとして(推測?) CONST BITMAPINFO *lpbmi, // ビットマップ情報 は何を持ってlpbmiとするかはマイクロソフトが決めていることなので示してほしいものですね。