我正在尝试将DPI信息存储在带有Pillow库的封装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库的局限性?
答案 0 :(得分:2)
您当然不能在EPS中存储“ dpi信息”。图像的DPI取决于其打印方式。
如果您拍摄一张100x100样本的图像并在1英寸的正方形上打印,则该图像的dpi为100 dpi。如果我拍摄同一张图像并在2英寸的正方形上打印,则该图像的dpi为50 dpi。
EPS文件的要点之一是您可以重新缩放EPS以适合页面的内容,因此图像的dpi完全取决于对其应用的缩放比例。
EPS不是一种简单的位图格式,例如TIFF,PostScript是一种完整的编程语言,它包含用于各种矢量绘图操作的原语以及位图。