Question Comment charger un ImageView à partir d'un fichier png?


Je prends une photo avec la caméra en utilisant

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );
startActivityForResult( intent, 22 );

Une fois l'activité terminée, j'écris l'image bitmap dans un fichier PNG.

    java.io.FileOutputStream out = openFileOutput("myfile.png", Context.MODE_PRIVATE);
    bmp.compress(Bitmap.CompressFormat.PNG, 90, out);

Cela va bien, et je peux voir que le fichier est créé dans l'espace de données privé de mon application.

J'ai du mal à afficher cette image plus tard avec ImageView.

Quelqu'un peut-il suggérer du code pour faire cela?

Si j'essaie de créer un fichier avec des séparateurs de chemin, cela échoue. Si j'essaie de créer un Uri à partir d'un nom sans séparateur, cela échoue.

je pouvez Ouvrez le fichier OK en utilisant:

        java.io.FileInputStream in = openFileInput("myfile.png");

Mais cela ne me donne pas le Uri dont j'ai besoin pour définir une image avec

   iv.setImageURI(u)

Résumé: J'ai l'image dans un fichier png dans les données de l'application privée. Quel est le code pour définir cela dans un ImageView?

Merci.


11
2018-04-22 04:04


origine


Réponses:


Essayer BitmapFactory.decodeFile() et alors setImageBitmap() sur le ImageView.


33
2018-04-22 10:40



Aussi possible:

java.io.FileInputStream in = openFileInput("myfile.png");
iv.setImageBitmap(BitmapFactory.decodeStream(in));

8
2018-04-24 12:07



iv.setImageURI(Uri.fromFile(in));

3
2018-03-28 16:16



Pourquoi pas de cette façon:

ImageView MyImageView = (ImageView)findViewById(R.id.imageView1);
Drawable d = Drawable.createFromPath( PATH TO FILE );
MyImageView.setImageDrawable(d);

1
2018-04-14 09:43



bitmap = BitmapFactory.decodeFile(imageInSD);

1
2017-12-31 12:59



Il ne devrait y avoir aucune différence entre decodeStream() et decodeFile(). decodeFile() la méthode ouvre un flux d'entrée et appelle decodeStream(). Cela a déjà été répondu à cela lien


0
2017-07-17 19:20