【问题标题】:Preferred value to encode 96 DPI within PNG在 PNG 中编码 96 DPI 的首选值
【发布时间】:2017-07-09 23:21:21
【问题描述】:

PNG 文件可能包含大量可选信息。这些可选信息块之一是图像的物理分辨率(块签名pHYs)。[1][ 2] 它包含单独的水平和垂直分辨率值作为每单位的像素,以及一个单位说明符,可以是0 用于未指定的单位,或1 用于 相当混乱,因为分辨率传统上以DPIs 表示。

The Inch is defined as 25.4 mm in the metric system。 所以,如果我计算正确,96 DPI 意味着每米 3779.527559...点。对于pHYs 块,必须四舍五入。我会说 3780 是正确的值,但我在网上也发现了 3779 建议。这两种图像也可以在我的机器上共存。

在大多数情况下,差异可能并不重要,

3779 * 0.054 = 95.9866
3780 * 0.054 = 96.012

但在 DPI 感知的过程(例如使用 LaTeX 创建 PDF 文件)中混合两种图像时,我会尽量避免棘手的布局问题。


[1]Portable Network Graphics (PNG) Specification (Second Edition), section11.3.5.3 pHYs Physical pixel dimensions

[2]PNG Specification: Chunk Specifications, section 4.2.4.2. pHYs Physical pixel dimensions

【问题讨论】:

    标签: language-agnostic png dpi


    【解决方案1】:

    相对差异小于 0.03% (2.65/10000),几乎不相关。

    无论如何,我会选择 3780。它不仅是最接近的值,而且如果某些(草率的)转换器将值向下舍入(而不是四舍五入到最接近的值),它会给出正确的值。

    此外,如果您在 Google 上搜索“72.009 DPI PNG”,您会看到与 72 DPI (example) 类似的(非)问题,而且似乎大多数人将值向上取整(也是最接近的)2834.645 -> 2835

    【讨论】:

    • 谢谢,我也更喜欢四舍五入的值,因为它四舍五入是正确的。但有时基于某些历史原因存在约定(例如 TDateTime-to-Lotus-1-2-3 关系),您最好遵守它们。
    猜你喜欢
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-12
    • 2018-01-12
    相关资源
    最近更新 更多