代码之家  ›  专栏  ›  技术社区  ›  Laurent LAPORTE

在EPS图像中存储DPI信息

  •  1
  • Laurent LAPORTE  · 技术社区  · 8 年前

    我试图用枕头库将DPI信息存储在封装的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信息,或者是对枕头库的限制?

    1 回复  |  直到 8 年前
        1
  •  2
  •   KenS    8 年前

    如果您采集100x100个样本的图像并将其打印在1英寸的正方形上,则图像的dpi为100dpi。如果我把同样的图像打印在2英寸的正方形上,那么图像的dpi是50dpi。

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

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