【问题标题】:Centimeter to pixel厘米到像素
【发布时间】:2011-01-22 11:44:48
【问题描述】:

如何在 c# 中将厘米转换为像素?

【问题讨论】:

  • 了解像素大小(例如 1024x768)和分辨率(例如每英寸 72 点)之间的差异很重要。在通常的用法中,分辨率通常实际上是指像素大小。
  • tnx 我确实将 winforms 添加到我的标签中

标签: c# winforms math


【解决方案1】:
int CentimeterToPixel(double Centimeter)
{
    double pixel = -1;
    using (Graphics g = this.CreateGraphics())
    {
        pixel = Centimeter * g.DpiY / 2.54d;
    }
    return (int)pixel;
}

【讨论】:

    【解决方案2】:

    您可以使用您所在的 Graphics 对象的 DpiXDpiY 属性 绘图 (你必须拥有,因为在没有 某种图形上下文。)

    DpiXDpiY中,“D”代表 “点”或像素,而“i”代表“英寸”。所以,它会 将像素转换为英寸。然后您所要做的就是将英寸转换为 厘米 => (x * 2.54)

    此外,如果您想更“精确”,请查看以下内容: HOWTO: How to Make an Application Display Real Units of Measurement

    【讨论】:

      【解决方案3】:

      像素和厘米是两个不同的单位,它们是根据用户的 DPI 设置计算得出的。要正确转换,您需要知道用户屏幕的 DPI。

      如果您有一个 12.8 厘米的显示器显示 1280x1024 的图像,那么 每厘米有 100 个像素。

      但是您可以尝试使用Graphics.TransformPoints 将像素转换为厘米或相反。

      【讨论】:

      • 请注意,12.8 厘米的显示器是在对角线测量该距离,因此不会像每厘米 100 像素那么简单,因为水平距离更短,所以会更多。
      • 这只是一个例子,12.8 厘米的帽子是水平的,而不是 diognal...你在哪里可以找到一个 1280x1024 分辨率的 12.8 厘米屏幕(除了我听说的一些平板电脑,它有 300 DPI)..: )
      【解决方案4】:

      在 WPF 中,一厘米大约是 37.8 个设备独立像素。

      【讨论】:

        【解决方案5】:

        CM 长度 = LenghtPixels * 2.54 / DPI

        我认为您可以使用 WMI 获取每个显示器的 DPI,您要搜索的值在类 Win32_DisplayConfiguration 中,在 LogPixe 字段下。

        查看有关使用 WMI 检索数据的链接:LINK

        【讨论】:

          【解决方案6】:

          正如我在评论中所说,您必须提供更多信息。 (这是一个 Windows 窗体应用程序吗?ASP.Net?)

          基本方法是:

          • 找出相关输出设备的 DPI。 (通常是 96 [每英寸 96 个点],但您不能假设。)This thread 可以帮助您做到这一点,如果它是一个 Windows 窗体应用程序。此外,Graphics 类具有 DpiXDpiY 成员,因此您可以使用它们。
          • 将 DPI 转换为 DPC [每厘米点数] (DPC = DPI / 2.54)。
          • 将您的厘米数乘以您的 DPC 值。

          【讨论】:

          • @shaahin:用户没有 DPI,设备有。我添加了一个关于获取 DPI 的线程的链接,您在发表评论之前可能没有看到它。
          • @shaahin:看来你可以从Graphics 得到它,我已经更新了一个链接。
          猜你喜欢
          • 1970-01-01
          • 2023-02-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多