MM_TEXT与MM_MM_LOMETRIC两个映射模式应该如何换算
我计算得到一个坐标点(x,y)
在画图时, 设置原点为(0,z)
然后CDC取的映射模式为 MM_LOMETRIC.即每个基本单元为0.1mm,将此点描绘出来.
再通过鼠标取点得(x1,y1),由于鼠标取点是按照 MM_TEXT来取点的,所以涉及到两种映射模式互相转换的问题.
通过CDC::GetDeviceCaps(LOGPIXELSX)方法可以得到在X轴上每英寸内包含有多少个像素.经计算为96
而每英寸为25.4mm,所以得到一个转换系统为scale = 25.4*10/96, 得到每像素内有多少0.1mm
所以在X点上的互转公式应该为 x1*scale. 可是经过计算x1*scale 与 x 之间存在着极大的偏差.
请大虾们帮小弟看一下我在哪边没有考虑清楚的呢?