IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Problème d'orientation de l'image de l'appareil photo


Sujet :

Android

  1. #1
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut Problème d'orientation de l'image de l'appareil photo
    Bonjour à toutes et à tous,

    Je souhaite utiliser l'appareil photo de mon smartphone dans mon application.

    Je me suis basé sur l'application décrite sur ce site ici.

    J'ai téléchargé cette application, l'ai compilée avec eclipse et chargée sur mon smartphone : tout est ok.

    J'ai repris le code dans mon application et ... l'image de prévisualisation est tournée de 90 ° ???

    A priori, les seules différences entre l'application originale et la mienne sont :
    • Je suis sous Android 4.1 au lieu de 2.2, de ce fait, l'instruction : "surfaceCamera.getHolder().setType" est marquée comme deprecated.
    • l'application tourne dans une fenêtre secondaire.


    Si vous avez des idées du pourquoi du comment ?

    Merci de votre aide.

    Pierre

  2. #2
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Le tutoriel me semble bizarre ... il faudrait demander confirmation dans le thread du tuto...

    En effet takePicture ne prend pas 3 paramètres mais 4....
    Le premier est pour l'effet de shutter...
    Le second est pour l'image en "raw" (donc sans aucune information de rotation ou autre)
    Le troisième est pour l'image en "raw" après scaling.
    Le quatrième est pour l'image en "jpeg" (après compression donc). Ce dernier pourrait contenir des données exif (sans doute limitées).

    J'ai bien peur que les données exif additionnelles (orientation, location, etc...) doivent être enregistrées par l'application.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Dans les informations données par eclipse quand on pointe sur takePicture, la doc indique qu'il peut y avoir 3 ou 4 paramètres.

    Pour autant, cela n'a pas d'effet sur la prévisualisation qui est de travers dans mon application.

    Je viens de compiler l'application du tuto avec la version 4.1.2 : elle fonctionne correctement.

    C'est vraiment bizarre.

    Merci de votre aide.

    Pierre

  4. #4
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Non mais c'est moi qui ne sait plus lire...

    L'image de prévisualisation est tournée... rien à voir donc avec EXIF.

    Il serait possible de voir le code de l'activité ? (et sa déclaration dans le manifest) ?
    En particulier, l'activité est bien déclarée comme "android:screenOrientation="landscape"" ?
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  5. #5
    Membre éprouvé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 022
    Points : 1 049
    Points
    1 049
    Par défaut
    Citation Envoyé par nicroman Voir le message
    ... En particulier, l'activité est bien déclarée comme "android:screenOrientation="landscape"" ?
    C'était effectivement le problème, je n'avais pas ajouté cette ligne.

    Cela fonctionne maintenant. Mais apparaît un autre problème : dans mon layout, j'ai placé un SurfaceView pour la prévisualisation, mais celui-ci ne prend pas toute la surface du layout car j'y ai aussi inclus d'autres informations via un TextView De ce fait, l'image se déforme quand je tourne l'appareil. Dans le code suivant, si je change les valeurs de width ou height, cela ne fait rien du tout ?? Je vais investiguer un peu plus loin, mais si vous avez des idées ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    	public void surfaceChanged(SurfaceHolder holder, int format, int width,	int height) {	
    		if (isPreview) { // Si le mode preview est lancé alors on l'arrête
        	camera.stopPreview();
        }   
        Camera.Parameters parameters = camera.getParameters(); // Récupére les paramètres de la caméra
        parameters.setPreviewSize(width, height); // Change la taille
        camera.setParameters(parameters); // Applique les nouveaux paramètres
        try { // Attache la prévisualisation de la caméra au holder de la surface        
        	camera.setPreviewDisplay(surfaceCamera.getHolder());
        }
        catch (IOException e) {
        }
        camera.startPreview(); // Lançe la previsualisation
        isPreview = true;
    	}
    Cordialement.

    Pierre

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/01/2011, 14h49
  2. [MFC]Problèmes pour orienter du texte
    Par Deedier dans le forum MFC
    Réponses: 1
    Dernier message: 25/03/2005, 16h15
  3. Mouvement d'un mobile : problème d'orientation
    Par mat.M dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 08/12/2004, 07h47
  4. probléme de cadre sur une image qui me sert de lien
    Par thomas_chamas dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 26/11/2004, 17h36
  5. Problème d'orientation
    Par JMF dans le forum QuickReport
    Réponses: 2
    Dernier message: 13/05/2003, 10h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo