【问题标题】:Setting image DPI in relation to height/width C#设置与高度/宽度相关的图像 DPI C#
【发布时间】:2010-10-29 14:12:03
【问题描述】:

我正在编写一个应用程序来向第三方发送一些图像,并且图像必须是 200x200 DPI。图像是位图,尺寸为 500 宽和 250 高。

我第一次使用第三方测试图像时,我的分辨率不正确。我只是使用image.SetResolution(200,200) 将其正确设置为 200x200。然而,这只是改变了图像的分辨率标签,并没有根据我的第三方技术联系人正确调整图像的高度和宽度。

我是否可以使用一个比率,以便对于每个 X 单位增加分辨率,我只增加相应的高度或宽度 Y 单位?我认为我可以只增加分辨率而不必增加高度或宽度。

谢谢你, 亚伦。

【问题讨论】:

  • 图像的 dpi 是我的小毛病,因为它是虚构的。图像只是一个二维像素阵列。任何像素阵列都可以以任何 dpi 显示,假装图像固定在一个特定的 dpi 是愚蠢的。但我怀疑你的“第三方”会接受这一点,所以我只是把这个作为评论。

标签: c# image


【解决方案1】:

以数字方式存储的图像没有有意义的 DPI 概念。在物理设备上再现图像时,DPI 会发挥作用。

您需要根据物理设备的 DPI 调整图像大小,以及该设备上所需的输出大小。

例如,如果打印机告诉您他们需要 300dpi 的图像来填充 4 英寸 x 4 英寸的空间,那么您将为他们提供大小为 1200x1200 像素的位图。此图像在 300dpi 输出设备上的物理尺寸为 4 英寸 x 4 英寸。在 600dpi 设备上,相同图像的输出尺寸为 2 英寸 x 2 英寸。

【讨论】:

  • 以上方程形式的答案:imgWidthPixels = dpiWidth * outputWidthInches imgHeightPixels = dpiHeight * outputHeightInches
【解决方案2】:

在处理数字图像时,通常指的是 PPI,即每英寸像素数。 DPI 与数字图像分辨率没有直接关系。

因此,如果您查看 200 像素 x 200 像素 @ 200PPI 的图像,您将看到 1 英寸 x 1 英寸的图像。

【讨论】:

    猜你喜欢
    • 2018-12-02
    • 2018-07-04
    • 2018-12-29
    • 1970-01-01
    • 2012-03-01
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    相关资源
    最近更新 更多