如果我说的对,你加分给我呀!
你的概念好模糊呀!
1.绘图函数用的全是逻辑坐标。
2.显示器分辨率就是象素点!800*600,就是800个象素宽乘以600个象素高的矩阵。也就是说坐标最大值就是800和600,与显示器大小无关,只与显示器分辨率设置有关。这叫"设备无关性"
3.MM_HIMETRIC映射模式下,1逻辑单位等于0.001毫米(不是0.01mm)。假设你的显示器高150mm,那么逻辑坐标Y=150000;那么逻辑坐标与设备坐标的转换比是:150000:800=187.5
4.CPoint point(5, 6); 5,6全是逻辑值
5.dc.LPtoDP(&point); 5/18.75=0.266;6/18.75=0.32。而像素应是正整数。当然就是0了。
6.dc.DPtoLP(&point); //转换后:x=156, y = -187
将(0,0)程序计数都是从0数的,不是1.所以坐标是0,数值应是1,转换成逻辑坐标是187.5,坐标类型是整数就变成187了。同理:600象素点是X,转换后就变成了0,156了
怎么样,明白了就加分给我吧,我也是初学者,想清这个理花了我4天,近50个小时。没功劳也有苦劳呀!
j