2017-09-04 2 views
0

J'utilise Intent(MediaStore.ACTION_IMAGE_CAPTURE) pour obtenir une photo de la caméra, il fonctionne très bien sur tous les appareils, à l'exception des appareils Samsung où, si vous prenez la photo avec la caméra frontale, il apparaît une rotation de 180 degrés.Samsung question devant la caméra

Je peux faire pivoter l'image de 180 degrés pour corriger le problème avec la caméra frontale, mais cela entraîne également la rotation des photos de la caméra arrière.

Y a-t-il un moyen de détecter quelle caméra prend la photo et, par conséquent, de ne faire pivoter que les images de la caméra frontale?

+0

Examinez-vous la balise d'orientation EXIF ​​et faites-vous pivoter en fonction de celle-ci? – CommonsWare

+0

Oui, mais la balise d'orientation est toujours 0. – Gio

+0

'peut faire pivoter l'image de 180 degrés'. Comment obtenez-vous l'image? Ou bitmap? Les bitmaps n'ont pas d'infos exif. Pas clair ce que vous faites. – greenapps

Répondre

0

il fonctionne très bien sur tous les appareils

Aucune offense, mais je doute plutôt. Il y a un lot des applications de caméra buggy. Gardez à l'esprit que certaines de ces applications de caméra buggy sont installées par l'utilisateur, pas seulement pré-installé.

Est-il possible que je peux détecter quel appareil prend la photo

Pas vraiment. Je ne vois pas an EXIF tag pour cela, et il n'y a aucune exigence que l'application de la caméra place l'étiquette dans l'image de toute façon. Vous n'êtes pas dit tous les détails sur l'image autre que l'image elle-même. Vous pourriez essayer de jouer à certains jeux, en regardant la résolution de l'image et en la comparant avec les résolutions possibles de l'appareil photo, mais cela ne sera pas fiable.

En général, avec ACTION_IMAGE_CAPTURE, vous venez de vivre avec des résultats inégaux. Votre principale alternative consiste à utiliser une bibliothèque pour intégrer la capture de photos dans votre application (par exemple, CameraKit-Android, Fotoapparat), en échangeant le manque de fiabilité des applications de caméra tierces avec le manque de fiabilité de l'API.

+0

Merci, je pense que je vais aller avec la deuxième option! – Gio