Поворот изображения, загруженного по электронной почте, используя PIL для веб-сайта Django - PullRequest
1 голос
/ 12 июня 2011

Мой сайт позволяет пользователям загружать фотографии в свою галерею по электронной почте, и это прекрасно работает. Однако фотографии, сделанные на iPhone в портретном режиме, НЕ вращаются правильно. Я хотел бы повернуть фотографию с помощью PIL во время процесса «фильтрации почты». Вот код, который я использую, чтобы успешно извлечь изображение из электронной почты и сохранить в моей модели Django

    image = ContentFile(b64decode(part.get_payload()))
    img = Photo(user=user)
    filename = part.get_filename().lower()
    img.img.save(filename, image)
    img.save()

* Обновлен код, который успешно поворачивает временное изображение в локальный каталог *

     image = ContentFile(b64decode(part.get_payload()))
     im = Image.open(image)
     tempfile = im.rotate(90)
     tempfile.save("/srv/www/mysite.com/public_html/media/images/rotate.jpg", "JPEG")
     img = Photo(user=user)
     img.img.save('rotate.jpg', tempfile)
     img.save()

Теперь я пытаюсь взять временное изображение и сохранить его в моей модели. К сожалению, это не экономия. Любые предложения будут ценны.

1 Ответ

1 голос
/ 12 июня 2011

http://effbot.org/imagingbook/image.htm

четко указывает, что rotate () возвращает новый экземпляр изображения.

В документации по операциям на месте ничего нет.Или

...