Jump to content

Archived

This topic is now archived and is closed to further replies.

theanthony33

Perdu avec la génération des apperçus des photos

Recommended Posts

Bonjour,

Dans une appli j'ai besoin de la prise de photo, ainsi que de pouvoir afficher ces photos dans mon appli.

Les photos prises sont enregistrée dans un dossier temporaire, puis déplacées lorsque l'utilisateur enregistre. Les photos ne devraient par être ajoutée dans le MediaStore (ne pas être visible dans l'application "galerie" ni dans les autres appli). Mon problème c'est que j'ai besoin des thumbnails pour créer les imagesView de ma galery, et que je n'arrive pas à les générer sans utiliser le MediaStore.

J'ai donc tenté d'ajouter mon image juste prise dans le mediaStore...

case REQUEST_CAPTURE_IMAGE:
if(resultCode==-1){
  try {
     String ret = MediaStore.Images.Media.insertImage(getContentResolver(), cheminNouvellePhoto, "photo"+getIndexPhotoCourant(), "");
     Toast.makeText(this, "ret="+ret, Toast.LENGTH_LONG).show();
  }
  catch...

Ce code créé une copie de mon image dans DCIM/camera, et ajoute bien cette image à la librairie, mais ce n'est pas ce que je veux. Je voudais que ce soit MON image qui soit ajoutée, pas une copie.

Voici le code que j'utilise pour voir le contenu du MediaStore :

public static void printPhotoList(Context mContext) {
       Cursor cc = mContext.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null,null);
       Log.i("CURSOR", "debut affichage");
       while(cc.moveToNext()){
           StringBuffer buf = new StringBuffer();
           for(int i=0;i                buf.append(cc.getColumnName(i)).append(":").append(cc.getString(i)).append("/\\");
           }
           Log.i("CURSOR", buf.toString());
       }
   Log.i("CURSOR", "fin affichage");
}

et le code utilisé pour la prise de photos :

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
intent.putExtra(MediaStore.EXTRA_OUTPUT,   Uri.fromFile(new File(APP_TMP_DIR + "photo" + getIndexPhotoCourant() + ".jpg")));
startActivityForResult(intent, REQUEST_CAPTURE_IMAGE);

Pour conclure, mes questions :

  • Peut on générer les miniatures sans passer par le MediaStore (simplement avec un nom de fichier)
  • Sinon peut on ajouter des images dans le mediastore sans en faire de copie, et en les gardant pour notre application.

Merci à celui qui pourra m'aider, j'ai lu beaucoup sur le net, mais je n'ai rien trouvé répondant à mon besoin.

Share this post


Link to post
Share on other sites





×
×
  • Create New...