J'utilise Universal-Image-Loader et cette fonctionnalité permet d'accéder au cache de fichiers de l'image à partir de la carte SD. Mais je ne sais pas comment convertir le cache de fichiers renvoyé en bitmap. En gros, je voulais juste assigner le bitmap à un ImageView.
File mSaveBit = imageLoader.getDiscCache().get(easyPuzzle);
Log.d("#ImageValue: ", ""+mSaveBit.toString());
mImageView.setImageBitmap(mSaveBit);
Erreur: "La méthode setImageBitmap (Bitmap) dans le type ImageView n'est pas applicable pour les arguments (Fichier)"
Vous devriez pouvoir utiliser BitmapFactory
:
File mSaveBit; // Your image file
String filePath = mSaveBit.getPath()
Bitmap bitmap = BitmapFactory.decodeFile(filePath);
mImageView.setImageBitmap(bitmap);
Définir le fichier
String fileName = "/myImage.jpg";
File file = new File(fileName);
obtenir une image bitmap
Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
Définissez Bitmap sur ImageView
myImageView.setImageBitmap(bitmap);
Version Kotlin
if (requestCode==PICK_IMAGE_REQUEST){
if (data!=null){
selectedfileUri=data.data
if (selectedfileUri!=null && !selectedfileUri!!.path.isEmpty()){
val file = FileUtils.getFile(context,selectedfileUri)
val bitmap = BitmapFactory.decodeFile(file.path)
uimg!!.setImageBitmap(bitmap)
}
}
}
Voici un code simple pour créer une image à l'échelle pour ImageView dans ce cas - Largeur: 400 - Hauteur: 400
final File file = new File(Environment.getExternalStorageDirectory(),"b.jpg");
ImageView img = (ImageView) findViewById(R.id.imageview);
img.setImageBitmap(Bitmap.createScaledBitmap(BitmapFactory.decodeFile(file.getAbsolutePath()),400,400,false));