一个打印证书程序,请问 float x  , float y ,是像素单位吗?,如果是,那么和打印纸单位mm,怎么进行换算方法更合适
DrawString(string s, Font font, Brush brush, float x, float y);

解决方案 »

  1.   

    取决于你的单位的设置
    graphics.PageUnit https://msdn.microsoft.com/zh-cn/library/fwb00wkk(VS.80).aspx
    不过请记住,如果是像素的话,小数点是没有意义的。
      

  2.   

    是的,默认是像素
    但你可以通过指定 Graphics 的 PageScale 属性改变
    比如设置成毫米
    Graphics g = e.Graphics;
    g.PageScale = (float)GraphicsUnit.Millimeter;虽然浮点的像素最终会化为整数,但在计算中意义是很大的,因为画布也有缩放比例可以调整
      

  3.   

    计算机里面的单位,默认都是像素,像素和长度单位的换算,要通过分辨率来转换
    .NET已经封装了这些,请搜索pageunit