【问题标题】:Windows DPI setting affects Graphics.DrawStringWindows DPI 设置影响 Graphics.DrawString
【发布时间】:2012-05-29 21:48:33
【问题描述】:

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

问题在于字符串的大小取决于 Windows 7 的 DPI 设置。 有什么方法可以让我的文字绘图独立于 Windows 设置?

PS:DPI 设置似乎只影响文本。例如,在更改 DPI 时,矩形的大小相同...

【问题讨论】:

    标签: c# gdi+ dpi drawstring


    【解决方案1】:

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

    【讨论】:

    • 你拯救了这一天
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多