繁体   English   中英

Windows DPI设置会影响Graphics.DrawString

[英]Windows DPI setting affects Graphics.DrawString

我创建了一个新的Bitmap对象,现在想要使用GDI +绘制一些文本。 所以我调用Graphics.DrawString(...)。

问题是字符串的大小取决于Windows 7的DPI设置。 有没有办法让我的文字绘图独立于Windows设置?

PS:DPI设置似乎只影响文本。 例如,当更改DPI时,矩形尺寸相同...

我自己找到了解决方案:关键是使用参数GraphicsUnit.Pixel创建字体。 这样绘制字符串就可以独立于系统的DPI设置。

你是正确的,因为DPI只影响在与设备无关的单位中测量的可绘制项目。 字体通常以点测量,其中1点= 1/72英寸。 因此,对于每个屏幕分辨率,10pt字体在INCHES中的大小将相同,并且将根据屏幕分辨率和像素密度占据更多或更少的像素。

以像素为单位测量的所有内容(如线条,形状等)都不会受到DPI的影响,但实际的物理尺寸会因屏幕分辨率和像素密度而异。 更改代码以测量以像素为单位的字体确实可以确保所有屏幕DPI设置上的文本都是相同的像素大小,但如果要打印到打印机,您会发现文本大小会因打印机分辨率而异。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM