设备坐标和逻辑坐标 明天就考试 急!!!!

jyy243270803 2010-01-09 06:32:09
问题1.这两种坐标怎么转换 书上的公式 设备(视口)坐标=逻辑坐标-窗口原点坐标+视口原点坐标 ……这里面的名字开书上的解释实在看不懂
补充问题:查了网上关于这个问题的解释 好像有关于像素的问题(惭愧 不懂什么叫像素),然后又是复杂的计算转换什么,可是上面的公式里面怎么没有涉及这个问题啊(映射模式就默认好了)
...全文
63 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xysyzj 2010-01-10
  • 打赏
  • 举报
回复
楼上正解
wuhuwy 2010-01-09
  • 打赏
  • 举报
回复
设备坐标(Device Coordinate)又称为物理坐标(Physical Coordinate),是指输出设备上的坐标。通常将屏幕上的设备坐标称为屏幕坐标。设备坐标用对象距离窗口左上角的水平距离和垂直距离来指定对象的位置,是以像素为单位来表示的,设备坐标的X轴向右为正,Y轴向下为正,坐标原点位于窗口的左上角。

  逻辑坐标(Logical Coordinate)是系统用作记录的坐标。在缺省的模式(MM_TEXT)下,逻辑坐标的方向和单位与设备坐标的方向和单位相同,也是以像素为单位来表示的,X轴向右为正,Y轴向下为正,坐标原点位于窗口的左上角。逻辑坐标和设备坐标即使在缺省模式下其数值也未必一致,除了在以下两种情况下:

  1. 窗口为非滚动窗口
  2. 窗口为滚动窗口,但垂直滚动条位于滚动边框的最上端,水平滚动条位于最左端,但如果移动了滚动条这两种坐标就不一致了。

  在VC中鼠标坐标的坐标位置用设备坐标表示,但所有GDI绘图都用逻坐标表示,所以用鼠标绘图时,那么必须将设备坐标转换为逻辑坐标,可以使用CDC 函数DPtoLP()将设备坐标转化为逻辑坐标,同样可以用LPtoDP()将逻辑坐标转化为设备坐标。
lbsswu 2010-01-09
  • 打赏
  • 举报
回复
不懂,帮你顶一下。
yxwsbobo 2010-01-09
  • 打赏
  • 举报
回复
逻辑坐标是直接操作的坐标


设备坐标是映射之后的坐标



要好好思考一会才能理解过来。。

只打字的话不太容易解释清楚

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧