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 :

Enregistrement photo galerie image


Sujet :

Android

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Enregistrement photo galerie image
    Salut à tous !

    Je reviens avec toujours le même projet (réalité augmentée sur androïd). Cette fois, j'aimerais prendre une photo (mon écran présente une preview camera et un bouton) en appuyant sur un bouton et l'enregistrer dans la galerie d'image. J'associe à mon bouton un onClickListener qui fait appel à une méthode de ma preview : take picture. Cependant, j'aimerais enregistrer cette photo dans la galerie image du smartphone (pour une phase de tests) et donc dans la méthode qui sauvegarde la photo prise, je crée un File grâce à " File photo=new File([blablabla],"photo.jpg") " pour définir les paramètres d'enregistrement. Or, à la place de blablabla, je dois mettre le path de la galerie je suppose mais je ne trouve ça nulle part. Quelqu'un pourrait-il m'aider ?
    Juste au cas où... Je vous fournis les méthodes de ma preview qui sont appelées par take picture !

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    Camera.PictureCallback photoCallback=new Camera.PictureCallback() {
    		public void onPictureTaken(byte[] data, Camera camera) {
    			new SavePhotoTask().execute(data);
    			camera.startPreview();
    		}
    	};
     
     	public void takePicture() {
    		mCamera.takePicture(null, null, photoCallback);
    	}
     
    	class SavePhotoTask extends AsyncTask<byte[], String, String> {
    		@Override
    		protected String doInBackground(byte[]... jpeg) {
    			File photo=new File(Environment.DIRECTORY_PICTURES,
    													"photo.jpg");
     
    			if (photo.exists()) {
    				photo.delete();
    			}
     
    			try {
    				FileOutputStream fos=new FileOutputStream(photo.getPath());
     
    				fos.write(jpeg[0]);
    				fos.close();
    			}
    			catch (java.io.IOException e) {
    				Log.e("PictureDemo", "Exception in photoCallback", e);
    			}
     
    			return(null);
    		}
    	}
    Je vous remercie par avance !
    A très bientôt !

    Benja

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    Je rencontre le même problème et ne trouve point de solution. :'(

  3. #3
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Bonjour,

    Ce que tu souhaites faire, c'est donc de prendre une photo (ça c'est ok ?), de l'enregistrer en tant que fichier (ça c'est ok?), et que lorsque tu lances l'application Galerie de ton téléphone, tu retrouves cette photo dedans ?

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    C'est exactement ça ! Parce qu'en fait j'ai besoin d'accéder facilement à cet image parce que je veux tester plusieurs trucs dessus... notamment y superposer un dessin (et ça je sais pas encore faire) et l'enregistrer tel quel (photo + dessin dessus)... et la galerie me paraissait un bon moyen de voir mes tests d'opérations!

    Mais si tu sais comment stocker n'importe où l'image / récupérer cette image enregistrée pour l'afficher dans une nouvelle activité, je suis encore plus preneur vu que c'est ce que ça doit faire à terme... Au moins le principe et j'irai tester des trucs là-dessus !

    Merci beaucoup en tout cas pour ton attention !
    A bientôt !

    Benja

  5. #5
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Mais ce que j'ai pas compris, c'est : t'en es où?
    T'as réussi a enregistrer une photo en tant que fichier ?

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Et bien en fait, j'arrive à prendre une photo via un bouton grâce à la méthode takePicture perso (cfr ci-dessus mon code). Puis là, un objet et une méthode que j'ai mis dans le code sont utilisés (objet Callback et SavePhotoTasks, la méthode SavePhotoTasks étant appelée dans la création du CallBack). Et dans Save Tasks à un moment je crée un fichier correspondant à la photo que j'enregistre (le file photo). Et je pense que à la place de Environment.DIRECTORY_PICTURE il faut que je mette là où je veux enregistrer ma photo... pour l'instant la galerie d'où ma question... plus tard, n'importe où. Donc au final, je crois qu'il y a que ça à modifier, cette adresse de sauvegarde parce que je pense que je prends la photo...

    Saurais-tu me dire si j'ai bien compris ce que font ces fonctions de prise de photo et si au final, j'enregistre bien ma photo... et me dire comment l'enregistrer dans la galerie par exemple.

    J'espère avoir été un peu plus clair... Merci en tous cas pour ta patience.
    A très bientôt !

    Benja

  7. #7
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Si tu veux enregistrer ton image pour qu'elle soit traité par ta gallerie :
    regarde du coté du MediaStore, notamment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Mediastore.Images.Media.insertImage(ContentResolver cr, Bitmap
    source, String title, String description)
    Après l'autre solution serait effectivement que tu enregistres ton images sur ta carte SD, puis qu'au sein de ton application tu affiches ce résultat dans un composant nommé ImageView.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Et dans ce que j'ai lu sur le sujet, je suis plus sûr... Y a moyen d'enregistrer ailleurs que sur une carte SD, genre dans une mémoire interne... Et dans ce cas, comment on récupère..; Enfin, dis moi juste les objets si tu les connais et j'irai voir ça !
    En tous cas, je regarde le Mediastore... J'avais vu des trucs dessus sans réussir grand chose mais bon je m'y replonge et quand j'ai réussi (oh l'optimiste !), je te recontacte !

    Merci beaucoup pour tout !

    Benja

Discussions similaires

  1. Enregistrement d'une image avec Firefox
    Par Eusebius dans le forum Applications et environnements graphiques
    Réponses: 9
    Dernier message: 05/07/2006, 11h22
  2. [VB.NET]Enregistrement d'une image
    Par leSeb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/06/2006, 08h03
  3. Empêcher l'enregistrement d'une image
    Par Patrick Seuret dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 23/09/2005, 19h13
  4. Enregistrement d'une image sur le serveur
    Par MHI dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2005, 15h25

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