大侠快救我, 我快失去信心了

arfu 2000-05-03 08:54:00
1.
pDC->SetMapMode(MM_TEXT);

CRect r=CRect(0,0,50,30); 50 , 30 的坐标是设备坐标还是逻辑坐标?

CSize size(100,80); 100 , 80 的坐标是设备坐标还是逻辑坐标?

CPoint point(50,60); 50 , 60 的坐标是设备坐标还是逻辑坐标?

怎么判断一个函数的参数是设备坐标还是逻辑坐标?

2.
某书中提到:
“...... 下面我们给出逻辑单位到设备单位的公式:

X比例因子 = X视口范围/X窗口范围
Y比例因子 = Y视口范围/Y窗口范围
设备X = 逻辑X *X比例因子 + X坐标原点偏移
设备Y = 逻辑Y *Y比例因子 + Y坐标原点偏移"

请问以上的转换与 pDC->DPtoLP(); pDC->LPtoDP(); 有什么关系? 非常感谢

(请不要告诉我看《VC技术内幕》,我看了不少书)
还是不懂,是我笨吗? 我快失去信心了! 帮帮我 !
...全文
207 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
arfu 2000-05-06
  • 打赏
  • 举报
回复
ho
lookfar 2000-05-05
  • 打赏
  • 举报
回复
你上面所说的数字 都是逻辑坐标
可用函数设置视图的逻辑大小,你给出的数字是在这个逻辑大小的一个位置,如果数字确定的点在这个大小这外,这个点就不会显示
函数参数是否为逻辑坐标或设置坐标,在help里有描述,如果要求为设置坐标,就用LPTODP进行转换,一般是在进行设备控制和设备操作时需要,在CDC的画图函数中一般是逻辑坐标.
想生成什么图形,和我联系
lookfar 2000-05-05
  • 打赏
  • 举报
回复
你上面所说的数字 都是逻辑坐标
可用函数设置视图的逻辑大小,你给出的数字是在这个逻辑大小的一个位置,如果数字确定的点在这个大小这外,这个点就不会显示
函数参数是否为逻辑坐标或设置坐标,在help里有描述,如果要求为设置坐标,就用LPTODP进行转换,一般是在进行设备控制和设备操作时需要,在CDC的画图函数中一般是逻辑坐标.
想生成什么图形,和我联系
rfit 2000-05-05
  • 打赏
  • 举报
回复
?
arfu 2000-05-04
  • 打赏
  • 举报
回复
hi
rosement 2000-05-03
  • 打赏
  • 举报
回复
其实这个问题不是太复杂,你只要知道一点,无论什么坐标都是逻辑坐标就可以了。
为什么这样讲呢?虽然在WINDOWS中,MM_TEXT是设备坐标,其为什么会成为设备坐标呢?你可以仔细想一下,其实它也是逻辑坐标,只不过它的坐标结构与象素一致,排列与显示器一样,所以它就不用转换了。
而其它的逻辑坐标的用途在于:和人们日常生活以及科学研究使用的坐标统一起来,方便程序人员的开发,毕竟你要实现象素间的相对位置非常困难。而且你在实际的开发过程中往往需要与你实际开发的程序的数据坐标统一起来,所以就有了逻辑坐标。
你只要注意一点:无论任何的坐标系都是逻辑坐标,而你在画图的时候使用的是逻辑相对坐标,你在判断点的实际位置时用的是设备坐标。
你可以再运行一下《VISUAL C++技术内幕》的例程,并自己改变一下,比如说自己加入一个圆,改变最大的坐标尺寸等,你就会理解的。
softdoctor 2000-05-03
  • 打赏
  • 举报
回复
1.首先、设备坐标指的是物理设备以象素点为单位。
逻辑坐标除MM_TEXT外均指物理尺寸,如mm,inch等
2.数字本身没有逻辑与设备之分
CRect r=CRect(0,0,50,30);
CSize size(100,80);
CPoint point(50,60);

孤立的看待这些点或坐标是没有意义的,他是逻辑还是设备坐标
取决于编程着的主观愿望,和上下文的意义。
3.DPtoLP指将象素点数坐标转换为在相应设备上该数目的象素点
在该设备上实际物理长度(尺寸)坐标。
LPtoDP指将相应设备实际物理长度(尺寸)坐标转换为在相应设备
上该物理长度(尺寸)所占用的象素点书目坐标

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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