我正在尝试旋转填充整个画面的照片(在本例中为720x480窗口)。当我使用PIL / PILLOW中的默认Image.rotate函数时,如下面的代码片段:
file = Image.open("test.jpg")
out = file.rotate(45, expand = 1)
out.save(work_dir+foreground,quality=100)
我在照片1中得到了这个结果,可以在框内旋转照片。 我想要做的是旋转它,使它填满整个盒子(我不介意裁剪),如照片2有没有办法做到这一点?
答案 0 :(得分:0)
找到方形图像的廉价解决方案:
def rotate_image_square(im, deg):
im2 = im.rotate(deg, expand=1)
im = im.rotate(deg, expand=0)
width, height = im.size
assert (width == height)
rads = math.radians(deg)
new_width = width - (im2.size[0]-width)
left = top = int((width - new_width)/2)
right = bottom = int((width + new_width)/2)
return im.crop((left, top, right, bottom))