【问题标题】:Store DPI info in EPS image在 EPS 图像中存储 DPI 信息
【发布时间】:2018-10-02 06:57:45
【问题描述】:

我正在尝试将 DPI 信息存储在带有 Pillow 库的 Encapsulated PostScript (EPS) 图像中。

例如:

from PIL import Image

size = 650, 827
path = 'grey.eps'

image = Image.new('L', size, color='grey')
image.save(path, dpi=(300, 300))

但我无法在阅读时检索到此信息:

image = Image.open(path)
dpi = image.info['dpi']
print(dpi)

我明白了:

Traceback (most recent call last):
  ...
KeyError: 'dpi'

是否可以在 EPS 图像中包含 DPI 信息,还是对 Pillow 库的限制?

【问题讨论】:

    标签: python python-imaging-library dpi eps


    【解决方案1】:

    您当然不能在 EPS 中存储“dpi 信息”。图片的 DPI 取决于其打印方式。

    如果您拍摄 100x100 个样本并将其打印在 1 英寸的正方形上,则图像的 dpi 为 100 dpi。如果我将相同的图像打印在 2 英寸的正方形上,则图像的 dpi 为 50 dpi。

    EPS 文件的要点之一是您可以重新缩放 EPS 以适合页面的内容,因此图像的 dpi 完全取决于对其应用的缩放比例。

    EPS 不是一种简单的位图格式,例如 TIFF,PostScript 是一种完整的编程语言,包括用于各种矢量绘图操作的原语以及位图。

    【讨论】:

    • 你的意思是DPI信息与EPS图片无关?
    • +1。在图形印刷术语中,eps 是矢量而不是位图(光栅)图像。虽然,我不确定image.info 在那里做什么,它只是将元数据存储到可变数据集吗?还是只是为了更新一组固定的数据?
    • @LaurentLAPORTE 实际上,EPS 文件中不需要 DPI,因为正如所指出的,EPS 是一个矢量文件,它可以按照指示的任何方式适应任何大小而不会降低质量,不像位图图像。位图图像使用 DPI [en.wikipedia.org/wiki/Dots_per_inch](Dot Per Inch) 用于物理打印软件,因此更改打印尺寸会影响其密度,从而影响质量限制。见superluxescreenprinting.com/2009/07/28/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 2012-01-26
    • 1970-01-01
    • 2022-06-30
    相关资源
    最近更新 更多