Android redimensionnement d'image et de la préservation des données EXIF (orientation, rotation, etc.)

Si votre Android appli utilise l'appareil photo pour prendre une photo, puis redimensionne (ce qui est très, très commun pour réduire la taille de téléchargement), vous pourriez ne pas réaliser que cette opération de redimensionnement bandes les métadonnées Exif.

Cela peut causer des problèmes, surtout si l'appareil en question repose sur l'Orientation de la balise pour afficher correctement l'image à la verticale.

Différents appareils Android poignée de l'appareil photo/rotation de l'image, de différentes façons, mon bon vieux Nexus One semble toujours faire pivoter l'image immédiatement après la capture, de sorte que le fichier natif de contenu sont toujours "debout" lorsqu'il est affiché.

Toutefois, d'autres dispositifs (en particulier les téléphones Samsung dans mes tests), ne pas faire pivoter le contenu du fichier image, plutôt, ils ont mis les Exif "Orientation" de la balise. Chaque fois que l'image est affichée plus tard, l'image de code devrait détecter la présence de l'Orientation " tag " et faire pivoter l'image de façon appropriée. Mais si vous avez fait tout traitement de bitmap sur l'image et enregistrez-le dans un nouveau fichier, toutes les données Exif sont perdues.

En plus de l'Orientation de données, vous risquez également de perdre de précieuses métadonnées telles que la marque, modèle, etc.

Ce qui me confond, pour quelques semaines (image apparaît en position verticale lorsqu'il est affiché dans la galerie de téléphone, mais ensuite arrive sur mon serveur avec une mauvaise orientation et une absence apparente de métadonnées). Je suis en ajoutant ce soi-question ici pour aider les autres. Ce blog a été très utile:

Android re-taille de l'image sans perdre les informations EXIF

InformationsquelleAutor Mike Repass | 2012-11-28