Django アプリケーションでサムネイル画像をトリミングして、画像の中心を示す二次画像を取得したいと考えています。これはそれほど難しいことではありません。同意します。
私はすでにこれを正確に行うコードをいくつか書いていますが、どういうわけか特定の...優雅さが欠けています。私はコードゴルフをしたくはありませんが、これをより短く、より Pythonic に表現する方法があるに違いないと思います。
x = y = 200 # intended size
image = Image.open(filename)
width = image.size[0]
height = image.size[1]
if (width > height):
crop_box = ( ((width - height)/2), 0, ((width - height)/2)+height, height )
image = image.crop(crop_box)
elif (height > width):
crop_box = ( 0, ((height - width)/2), width, ((height - width)/2)+width )
image = image.crop(crop_box)
image.thumbnail([x, y], Image.ANTIALIAS)
何かアイデアはありますか?
編集: x、yについて説明しました