我正在创建一个.Net 2.0 SP2窗体窗体应用程序。在我的机器中,表单字体看起来很好,当我在另一台机器上尝试时,它看起来更大。 (这不是因为分辨率差异,字体相对于其他图标等更大).Net Inconsistent Font rendering
我试图调试问题,发现下面的代码在不同的机器上返回不同的大小。
//inside a windows form
private void checkfont()
{
var g = this.CreateGraphics();
MessageBox.Show(g.MeasureString("Hello World", this.Font) + "," + this.Font);
}
我希望graphics.measurestring()返回在不同的机器上相同的参数值相同。
对于字体 '宋体8.25'
- 机器1 “Hello World” 的措施69.0px,14.7px
- 机器2 “Hello World” 的措施86.3px,18.4px
为什么这个区别?正因为如此,我的应用程序字体看起来更大,并影响布局。
编辑:
两台机器的.Net 2.0 SP2,但它们的分辨率和屏幕尺寸不同。我知道字体的物理尺寸(在物理屏幕上)会随着分辨率和屏幕尺寸而变化。但我的问题是为什么像素单位的尺寸不同?
机器2是eeetop ET1602与Windows XP,其触摸屏系统,默认情况下,它带有所有桌面字体较大,但我已将Windows主题/ Windows字体重置为默认值。
机器是否有不同的视频卡,字体设置,服务包,驱动程序等?所有这些都可能影响到这一点。 – GrayWizardx 2009-12-22 07:36:27