我在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()我错过了什么吗?
答案 0 :(得分:1)
这是Pillow< = 2.9.0中的一个错误,已在3.0.0中修复。如果您希望图像在旋转时更改大小,则需要包含expand参数,例如img.rotate(-90,expand = 1)。有关详细信息,请参阅this issue。