看到打印预览  与所画图形严重不符书上说是因为  GDI用了MM_TEXT映射方式  逻辑坐标=装置坐标
一个逻辑单位是一个像素
这里   所谓的逻辑单位是什么意思?   难道是组成线段的点?点是在用鼠标画图的时候捕捉的屏幕坐标并且经过DPtoLP的装换 ,装的是一数组的POINT点,不可能是坐标装换的时候出错了吧
到底什么使的  打印与画图   严重不符的?

解决方案 »

  1.   

    建议看MSDN示例, 及CDC::SetMapMode  
    逻辑单位可以是pixel, inch, MM, twips.
    打印机DPI远高于screen的DPI,因此, 需要从screen映射到打印机输出.
      

  2.   

    感觉LZ对点,坐标,设备单位与逻辑单位的观念有混淆,建议参看潘爱民翻译的<VC++6.0技术内幕>第4版,其中解释的比较清楚而且有具体实例.
    你提出的问题就在于两者的坐标映射方式不同.对于mm_text方式而言,不同的设备,不同的分辨率,所显示出来的结果(大小,图像效果等)是不同的.