【问题标题】:mfc when to use logical/device coordinatesmfc 何时使用逻辑/设备坐标
【发布时间】:2016-06-18 18:22:33
【问题描述】:

我听说矩形、鼠标坐标和其他涉及绘图的东西都使用设备坐标。这是真的?有什么方法可以告诉我我是否有逻辑坐标或设备坐标?

我可以查看给我坐标的函数的文档,但有时他们没有明确说明这些是逻辑坐标还是设备坐标。例如,GetCursorPos 函数的文档说它“在屏幕坐标中检索鼠标光标的位置”。

我假设屏幕坐标与设备坐标相同?这是否意味着我必须将从函数获得的屏幕坐标转换为客户端坐标?

【问题讨论】:

    标签: c++ winapi mfc


    【解决方案1】:

    您知道屏幕左上角的坐标(0,0)。但是在纸上,当我们绘制图形时,(0,0) 可能在左下角,或者在图形绘图纸的中心。

    默认情况下,逻辑坐标和物理/屏幕坐标相同,(0,0) 指向左上角。但是,如果您想从左下角到屏幕中间某处画一条线,与您学过或正在练习的数学/三角学相匹配怎么办?好吧,您开始将逻辑坐标系更改为您喜欢的东西。

    您可以使用SetMapMode 来更改逻辑坐标系。您可以稍后使用LPtoDPDPtoLPClientToScreenScreenToClient 等进行映射,并将物理监视器用于窗口坐标映射。

    About Coordinate Spaces and Transformations

    【讨论】:

      猜你喜欢
      • 2013-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多