web-dev-qa-db-fra.com

Convertir un objet fichier en bitmap

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)"

23
rahstame

Vous devriez pouvoir utiliser BitmapFactory:

File mSaveBit; // Your image file
String filePath = mSaveBit.getPath()  
Bitmap bitmap = BitmapFactory.decodeFile(filePath);
mImageView.setImageBitmap(bitmap);
74
Karl
  1. Définir le fichier

    String fileName = "/myImage.jpg";
    File file = new File(fileName); 
    
  2. obtenir une image bitmap

    Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
    
  3. Définissez Bitmap sur ImageView

    myImageView.setImageBitmap(bitmap);
    
9
Hardik Gajera

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)
                }
            }
        }
0
Kingsley Mitchell

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));
0
Bilal Mustafa