1
これはバグの多いプリンタドライバを回避するための最後の努力です。互換性のあるビットマップにレンダリングしてから、プリンタDCにコピーする前またはコピー中に回転します。Windowsのビットマップを90度回転させる簡単で簡単な方法は?
私はGDI +をお勧めしたthis previous questionに精通していますが、GDIのみを使用して回答があるかどうかは不思議です。これらの技術の
これはバグの多いプリンタドライバを回避するための最後の努力です。互換性のあるビットマップにレンダリングしてから、プリンタDCにコピーする前またはコピー中に回転します。Windowsのビットマップを90度回転させる簡単で簡単な方法は?
私はGDI +をお勧めしたthis previous questionに精通していますが、GDIのみを使用して回答があるかどうかは不思議です。これらの技術の
のいずれかが動作するはず:先に指定された平行四辺形のソースデバイスコンテキストで指定された矩形の色データのビットのビットブロック転送を行う」
PlgBlt
、回転した平行四辺形の座標を有する「デバイスコンテクスト」
SetWorldTransform
の組み合わせは、回転行列を渡し、通常はBitBlt
です。
これらの両方に注意してください。ソースDCにはローテーション変換はありません。
私はあなたに今すぐコード例を挙げることはできませんが、いくつかのグーグルでは、これらの関数を使用して任意の数の角度を回転させる方法の例を示しています。 90度に-code:
PlgBlt
(それはVBだ...ここ言語を言い訳)SetWorldTransform
and BitBlt
。たとえば、VCLのTGraphicControl
子孫がPaint
メソッドでこれを行い、MFCや他の一般的なWinAPIラッパーもそうである可能性が高い場合は、GetWorldTransform
を使用して現在の変換を保存し、現在の変換を設定(上書き)するのではなく、ModifyWorldTransform
を適用してください。私はGDI + :)
を使用する場合と比較して、これらのいずれかが限り迅速または簡単にカウントわからない応答をありがとう!ハードなやり方、ビットマップデータの取得、回転、新しいビットマップの作成が終わった。 –