BMP画像は生成されましたが、反転して表示されます
質問
Winddkを介してBitmap.dllを生成しました。
プリントからファイルへのドライバーを選択するプリンタードライバーとして手動で追加されました。
これを使用して、ファイルから印刷コマンドを使用してドキュメントの画像を作成します。
画像を作成して表示することができますが、問題は、反転した(ミラー)画像を取得することです。
cScans = pOemPDEV->bmInfoHeader.biHeight;
// Flip the biHeight member so that it denotes top-down bitmap
pOemPDEV->bmInfoHeader.biHeight = cScans * -1;
このコードの回避策はありますか?コメントすると問題が発生すると(ヘッダーを適切に生成するために)この行をコメントします。
解決
デバイスの独立したビットマップは、バッファの開始時に最終的な行とともにメモリにレイアウトされていると文書化されています。 Windows 3が開発されていると同時にMicrosoftと協力していたOS/2のデザイナーによって行われたデカルトコーディネートの実験が開発されました。
2つの可能な修正があります。
- バッファを逆さまに生成します。
- BitMapinfoを服用する多くのWindows APIは、ネガティブバイハイト値を扱い、トップダウンディブを意味します。
所属していません StackOverflow