【问题标题】:Graphics.MeasureString() returns size in Point or Pixel?Graphics.MeasureString() 以点还是像素返回大小?
【发布时间】:2017-06-15 13:29:09
【问题描述】:

我使用 Graphics.MeasureString 来计算文本的大小。 EG:10 像素 = 7.5 点。

我的问题: 大小是从 Graphics.MeasureString 点值还是像素值计算出来的?

【问题讨论】:

  • 来这里之前为什么不检查一下MSDN??

标签: c# windows winforms graphics


【解决方案1】:

来自MSDN page

该方法返回一个 SizeF 结构体,表示大小,在 PageUnit 属性指定的单位,由指定的字符串 使用字体参数绘制的文本参数。

PageUnit 的类型为 GraphicsUnit,它是一个枚举,具有以下内容 values

成员名称 说明
显示 指定显示设备的测量单位。通常是 像素 用于视频显示器,1/100 英寸用于打印机。
文档将文档单位(1/300 英寸)指定为度量单位。
英寸将英寸指定为度量单位。
毫米将毫米指定为度量单位。
像素指定一个设备像素作为测量单位。
Point 指定打印机的点(1/72 英寸)作为测量单位。
World 指定世界坐标系单位作为度量单位。

为糟糕的格式道歉!

【讨论】:

  • 当我将某个整数值增加到GraphicsUnit.Point时计算的高度时,结果会是什么?整数加上计算的高度是不是点?
  • @Amal 我不明白你的意思——你正在将int 添加到float。它们只是数字。
【解决方案2】:

您可以使用 Graphics.PageUnit 来设置测量的返回类型。所以它可以是像素或点,这是你的选择

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 2021-02-02
    • 2010-12-06
    • 2014-02-19
    • 1970-01-01
    相关资源
    最近更新 更多