そして皆さん、良い一日を。これは私の最初の投稿です。「MFC を使用した Windows のプログラミング - J Prosise (MS Press)」を読んでいました
。第 2 章で、2 つの GDI 関数に出くわし、本当に混乱しました。テキストを引用します。
SetViewportOrg と SetWindowOrg を混同しがちですが、実際には両者の違いは非常に明確です。SetViewportOrg を使用してビューポートの原点を (x,y) に変更すると、論理ポイント (0,0) をデバイス ポイント (x,y) にマップするように Windows に指示されます。SetWindowOrg を使用してウィンドウの原点を (x,y) に変更すると、本質的に逆の処理が行われ、論理ポイント (x,y) をデバイス ポイント (0,0) (表示面の左上隅) にマップするように Windows に指示します。MM_TEXT マッピング モードでは、2 つの関数の唯一の実際の違いは、x と y の符号です。他のマッピング モードでは、SetViewportOrg がデバイス座標を処理し、SetWindowOrg が論理座標を処理するため、それだけではありません。
私はこれと本当に混乱しています。視点の原点を (50,50) に変更してから dc.ellipse (0,0,50,50) を使用すると、デバイス ポイント (50,50) から開始するようなものです。しかし、ウィンドウの原点を (50,50) に変更すると、論理点 (50,50) が (0,0) にマップされることを意味し、その場合、楕円は上界?マッピング モードは MM_LOWENGLISH か何かでしたか? その後、状況はどのように変化しますか?誰かがこの問題に光を当てることができれば、本当に感謝しています