Estoy intentando tomar imágenes grandes (grandes) (desde una cámara digital) y convertirlas en algo que pueda mostrar en la web. Esto parece sencillo, y probablemente debería serlo. Sin embargo, cuando intento usar PIL para crear versiones de miniaturas, si la imagen de origen es más alta que ancha, la imagen resultante se gira 90 grados, de modo que la parte superior de la imagen de origen está a la izquierda de la imagen resultante. Si la imagen de origen es más ancha que alta, la imagen resultante es la orientación correcta (original). ¿Podría tener que ver con la 2-tupla que envío como el tamaño? Estoy usando miniatura, porque parece que fue para preservar la relación de aspecto. ¿O estoy siendo completamente ciego y haciendo algo tonto? La tupla de tamaño es 1000,1000 porque quiero que el lado más largo se reduzca a 1000 píxeles, mientras se conserva el AR.miniatura PIL está girando mi imagen?
Código parece simple
img = Image.open(filename)
img.thumbnail((1000,1000), Image.ANTIALIAS)
img.save(output_fname, "JPEG")
Gracias de antemano por cualquier ayuda.
O para leer los datos EXIF de antemano y aplicar la transformación de forma manual. –
Gracias a ambos por sus respuestas. Estoy intentando eliminar todos los datos EXIF, pero luego vuelvo a agregar los datos si es necesario rotarlos. Esto se está convirtiendo en mucho más de un PITA de lo que originalmente pensé que sería. Solo cuestión de elaborar el guión para hacerlo ahora. ¡Gracias de nuevo! – Hoopes
Como está cambiando de tamaño, probablemente no le importe, pero no olvide que incluso una simple rotación a veces es una operación con pérdida en jpegs. –