سؤال

I need to change orientation of image according to info in EXIF on upload. Is there any "standard" way for this? Im trying to patch models now, but not sure its right way.

هل كانت مفيدة؟

المحلول

Well, I did it like this file photologue/models.py:

IMAGE_EXIF_ORIENTATION_MAP = {
    6: 0,
    3: 2,
    8: 3,
    1: 4,
}   


    def pre_cache(self):
        if self.EXIF.get('Orientation', 1) is not None:
            im = Image.open(self.image.path)
            im = im.transpose(IMAGE_EXIF_ORIENTATION_MAP[self.EXIF.get('Orientation', 1)])
            im.save(self.image.path)

        cache = PhotoSizeCache()
        for photosize in cache.sizes.values():
            if photosize.pre_cache:
                self.create_size(photosize)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top