在C++使用TextOut 打印的坐标和C#使用PrintDocument的坐标为什么不一样

解决方案 »

  1.   

    谢谢大家帮忙!
       在C++使用TextOut 打印的坐标120,807
       C#使用PrintDocument的坐标120,807
    这样打印出来的效果就不一样????谁能告诉我一下?
      

  2.   

    C++
        //坐标120,807 
        TextOut(H_Print_DC,i_Item_X,i_Item_Y,c_Work,strlen( c_Work ) ) ;
    C#
    void ptdPrintTools_PrintPage( object sender, PrintPageEventArgs e )
    {
        //坐标120,807 
        e.Graphics.DrawString(strDate,objFont,Brushes.Black,G_lngItemX,G_lngItemY );
    }为什么打出来不一样呢?
      

  3.   

    在PrintDocument坐标中默认使用英寸为单位(界面显示单位为像素),界面上显示的内容要实现精确打印,需要做一下转换
    你可以google一下转换的公式
    像素-->毫米-->英寸