现在想将特定文字绘制到一张图片上,首先是用photoshop设计合成后的图片的,并且得到文字大样式大小,为“方正大黑简体”  大小为 18pt。我想知道在C# 编程中18pt与Font类中emSize相同吗?  private Font _font = new Font(new FontFamily("方正大黑简体"), 18, FontStyle.Bold, GraphicsUnit.Pixel);
为什么这样定义字体得到的图片中文字,与在photoshop中的大小不一样?请高手讲解!

解决方案 »

  1.   

    这里的18,是18F,而PS里的18,是磅
    单位都不一样的。
      

  2.   

    关注下emSize在msdn里的解释是这样的:
    新字体的全身大小(以值为单位)。 
    既然是磅(point type)也就是pt 我感觉单位还是一样的  
    我再研究下~~
      

  3.   

    float fontSizeWeight = 96 / (72 / e.CellStyle.Font.Size); // 字体实际像素宽度
    怎么换算你参考这个吧
      

  4.   

    这个得出来的就是实际像素
    e.CellStyle.Font.Size就是磅吧,反正就是设置字体几号字那个,然后这样就能换算出
    用float是因为字体大小经常有小数,就像16号字最后是16.25磅