PIL / Pillow 2.8.1和3.1.1上Image.rotate的差异

时间:2016-02-06 15:11:24

标签: python python-3.x python-imaging-library pillow

我在Image.rotate() PIL上度过了不愉快的时光,直到我决定检查终端发生了什么。这就是我所做的:

Python 2,Pillow(2.8.1)

from PIL import Image
im = Image.new('RGB', (800, 500))
im.size
out = im.rotate(90)
out.size

输出(如预期):

>> (800, 500)
>> (500, 800)

Python 3,Pillow(3.1.1)

from PIL import Image
im = Image.new('RGB', (800, 500))
im.size
out = im.rotate(90)
out.size

输出:

>> (800, 500)
>> (800, 500)

而且我认为这是在Pillow 3X中调用旋转的正确方法。这是该功能的文档:
Image.Rotate()我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

这是Pillow< = 2.9.0中的一个错误,已在3.0.0中修复。如果您希望图像在旋转时更改大小,则需要包含expand参数,例如img.rotate(-90,expand = 1)。有关详细信息,请参阅this issue