2009-12-21 154 views
1

我想更改python中.bmp图像的分辨率。 (即像素/英寸信息)。使用PIL,支持JPG图像,例如,下面的代码工作正常在Python中为.bmp文件更改图像分辨率

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

如果像一些GIMP图像编辑软件查看此,它显示了每英寸像素为75,75

但上述代码在输入图像是.bmp文件时不起作用。

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

回答

2

我怀疑有没有很多程序在那里尊重bmp分辨率。 Windows位图都是96 dpi。

此外,它看起来好像PIL不支持位图的分辨率参数。我的PIL/BmpImagePlugin.py只写在$ 01000000的x & y决议(我不知道什么是翻译,但我猜“96 dpi”)。

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

+0

+1好的解释 – YOU 2009-12-21 09:30:59

+0

谢谢这个非常有用! – apt 2009-12-21 16:48:05

0

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