我在PIL
上与Image.rotate()
相处得很糟糕,直到我决定在终端上检查发生了什么。这是我所做的:
蟒蛇 2, 枕头 (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)
蟒蛇 3, 枕头 (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)
我认为这是在枕头 3X 中调用旋转的正确方法。以下是该函数的文档:
Image.Rotate() 我错过了什么吗?
这是 Pillow<=2.9.0 中的一个错误,在 3.0.0 中修复。如果您希望图像在旋转时更改大小,则需要包含 expand 参数,例如 img.rotate(-90, expand=1)。有关详细信息,请参阅此问题。