Puis-je utiliser la bibliothèque Picasso pour charger des images à partir du système de fichiers?
J'utilise startActivityForResult
pour permettre à l'utilisateur de choisir une photo dans sa galerie, puis de montrer l'image sélectionnée.
J'ai déjà du code de travail pour obtenir le système de fichiers image Uri
, mais je ne parviens pas à faire fonctionner la méthode Picasso.load()
.
Bien sûr vous pouvez. C'est en fait assez simple:
File f = new File("path-to-file/file.png")
ou
File f = new File(uri)
Picasso.with(getActivity()).load(f).into(imageView);
aussi
Picasso.with(getActivity()).load(uri).into(imageView);
travaux
Oui, vous pouvez.
Essayer:
Picasso.with(context).load(new File(YOUR_FILE_PATH)).into(imageView);
EDIT
Vous pouvez également appeler .load(YOUR_URI)
à la place.
En regardant dans le code source, je découvre également que vous pouvez charger l'image à partir du système de fichiers en ajoutant le préfixe de chaîne file:
À votre chemin d'image. Par exemple:
file:path/to/your/image
En outre, lorsque vous utilisez startActivityForResult, vous obtiendrez quelque chose comme ceci:
Uri imageContent = data.getData();
Ensuite, vous pouvez appeler Picasso.with(getContext()).load(imageContent.toString).into(imageView);
directement sans avoir à créer un Cursor
et à interroger le chemin de l'image.
Essaye ça:
Picasso.with(context)
.load("file://"+path) // Add this
.config(Bitmap.Config.RGB_565)
.fit().centerCrop()
.into(imageView);
Cela fonctionne parfaitement pour moi.
> Picasso.get().load(R.drawable.landing_screen).into(imageView1);
> Picasso.get().load("file:///Android_asset/DvpvklR.png").into(imageView2);
> Picasso.get().load(new File(...)).into(imageView3);
Fondamentalement, nous avons besoin de trois choses, Context
, image´s path
et le conteneur ImageView
Picasso.with(context).load("/files/my_image.jpg").into(myImageView);
mais nous pouvons utiliser plus d'options:
.resize(20, 20)
.centerCrop()
.placeholder(R.drawable.user_placeholder)
.error(R.drawable.user_placeholder_error)
etc...
plus d'infos: http://square.github.io/picasso/