Je veux rogner une image miniature dans mon application Django, afin d'obtenir une image quadratique qui montre le centre de l'image. Ce n'est pas très difficile, je suis d'accord.Qu'est-ce qu'une reformulation plus élégante de cet algorithme de culture? (en Python)
J'ai déjà écrit un code qui fait exactement cela, mais il manque en quelque sorte une certaine ... élégance. Je ne veux pas jouer au golf de code, mais il doit y avoir un moyen d'exprimer ce plus court et plus pythonique, je pense.
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)
Avez-vous des idées?
modifier: expliqué x, y
J'aime avoir les variables width et height explicitement nommées. Sinon, quelqu'un lisant ce code doit trouver la documentation pour Image.Size – Triptych
Peut-être y at-il des propriétés image.Width et image.Height, mais je ne sais pas. Je viens d'inférer le code de la requête. –