Я создал API на python (используя Flask), который будет получать местоположение изображения и поворачиваться вправо или влево по запросу. API получит имя файла и «ориентацию» (на сколько градусов он должен вращаться: 90, 180, 270). Код Python, который я использую для этого:
picture= Image.open(filename)
pict_info = picture.info
if 'exif' in pict_info.keys():
exif = pict_info['exif']
picture.rotate(orientation, expand=True).save(filename, exif=exif)
print('Rotating:'+filename)
else:
picture.rotate(orientation, expand=True).save(filename)
print('Rotating:'+filename)
# if Image has EXIF info, it will copy it into the rotated image
picture.close()
Этот код повернет изображение и сохранит исходную информацию EXIF в новом изображении.
У меня есть несколько вопросов относительно рекомендацийздесь: 1) Должен ли я редактировать информацию EXIF перед сохранением, чтобы изменить теги EXIF для «Ориентация изображения» и «Ориентация миниатюр», чтобы информация EXIF была более реальной? 2) Стоит ли менять значения ширины и длины (теперь ширина равна длине и наоборот) следующих тегов: «Image ImageWidth», «Thumbnail ImageWidth», «EXIF ExifImageWidth», «Image ImageLength», «Thumbnail ImageLength»,EXIF ExifImageLength? 3) Должен ли я что-то сделать с тегом EXIF 'JPEGThumbnail'? Является ли это фактическим изображением, встроенным в файл, который необходимо повернуть?
Что касается последнего пункта, я заметил, что иногда Проводник Windows не отображает эскизы, повернутые правильно, но после открытия файлаизображение повернуто.
Если у вас есть ответ на любой из этих вопросов и / или код, пожалуйста, помогите мне. Заранее спасибо. Pablo