English 中文(简体)
打印图像时,是什么决定了它会在页面上显示多大?
原标题:
  • 时间:2009-01-23 16:16:33
  •  标签:

Using Python s Imaging Library I want to create a PNG file.
I would like it if when printing this image, without any scaling, it would always print at a known and consistent size on the printed page.

这个分辨率是否编码在图像中?

如果是这样,我该怎么指定呢?

即使是这样,当它传到打印机时有任何相关性吗?

最佳回答

从PIL 1.1.5起,有一种方法可以获取DPI:

im = ... # get image into PIL image instance
dpi = im.info["dpi"] # retrive the DPI
print dpi # (x-res, y-res)
im.info["dpi"] = new dpi # (x-res, y-res)
im.save("PNG") # uses the new DPI
问题回答

我找到了一种非常简单的方法将dpi信息嵌入到png中:

im.save("myfile.png", dpi=[600, 600]) 保存图像为myfile.png,分辨率为[600,600]。

很不幸,我没有找到任何相关文档,只好深入挖掘PIL源代码。

打印机在打印时具有各种分辨率。例如,如果选择打印分辨率为200 DPI(或者打印机驱动程序默认设置为此),则200像素的图像应该是一英寸大小。

图像的打印尺寸和分辨率都与以特定比例和质量打印图像有关。请记住,如果将图像包含在桌面出版工作区(Word、InDesign)或甚至网页中,图像则受到父文档中指定的任何分辨率的影响——在桌面出版程序中,这不一定会改变图像的相对比例,但会改变图像的质量。

是的,所有图像都有分辨率属性,这回答了你问题的一半 - 我不懂Python...

很多要取决于您用来打印的软件。如果您将图像放入Word文档中,它将根据DPI比例缩放,直至宽度与页面相同。如果您将其放在网页上,DPI将不起作用。





相关问题
热门标签