Picasso.with(context).load("url").into(imageView);
Ici au lieu de l'URL je veux bitmap comment puis-je y parvenir ... comme ci-dessous -
Picasso.with(context).load(bitmap).into(imageView);
Cela devrait fonctionner pour vous . Utilisez l'URI renvoyé avec Picasso.
(extrait de: y at-il moyen d’obtenir uri de bitmap sans le sauvegarder sur sdcard? )
public Uri getImageUri(Context inContext, Bitmap inImage) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
return Uri.parse(path);
}
Ma solution Kotlin
créer le bitmap à partir de données
val inputStream = getContentResolver().openInputStream(data.data)
val bitmap = BitmapFactory.decodeStream(inputStream)
val stream = ByteArrayOutputStream()
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream)
IMPORTANT: si vous n'avez pas besoin de stocker l'image, vous pouvez éviter Picasso et charger l'image immédiatement.
imageView.setImageBitmap(bitmap)
sinon stockez le fichier et chargez-le avec Picasso
val jpegData = stream.toByteArray()
val file = File(cacheDir, "filename.jpg")
file.createNewFile()
val fileOS = FileOutputStream(file)
fileOS.write(jpegData)
fileOS.flush()
fileOS.close()
Picasso.get().load(Uri.parse(file.path)).into(imageView)
Vous utilisez une ancienne version de Picasso.
Mettez à jour la version dans votre fichier Gradle:
implementation 'com.squareup.picasso:picasso:2.71828'
Java:
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);