在Python中为.bmp文件更改图像分辨率

时间:2009-12-21 08:54:42

标签: python python-imaging-library

我想在python中更改.bmp图像的分辨率。 (即像素/英寸信息)。例如,使用PIL,对于jpg图像,以下代码可以正常工作

import Image 
im = Image.open("myImg.jpg)
im.save("output.jpg", dpi = (75, 75) )

如果您在某些图像编辑软件(如GIMP)中查看此内容,则会显示每英寸像素数为75,75。

但是当输入图像是.bmp文件时,上面的代码不起作用。

有人能告诉我如何更改python中任何图像的图像分辨率吗?

2 个答案:

答案 0 :(得分:2)

我怀疑那里没有很多尊重bmp决议的节目。 Windows位图都是96 dpi。

此外,看起来PIL不支持位图的分辨率参数。我的PIL/BmpImagePlugin.py只为01万美元写入x& y分辨率(我不确定转换成什么,但我猜“96 dpi”)。

docs告诉你如何编写自己的扩展名。我猜想制作一个接受分辨率作为参数的PIL位图插件的副本会非常简单。

答案 1 :(得分:0)

我认为输入文件可以是任何有效格式和输出需要,jpg,pcx,png,tiff,wmf为dpi参数我想,可能是我错了,但是当我查看PIL源文件时,我不知道看不到BMP文件。