it-swarm.com.de

Konvertieren Sie ein Dateiobjekt in eine Bitmap

Ich verwende den Universal-Image-Loader, und es gibt diese Funktion, die von der SD-Karte auf den Dateicache des Images zugreift. Ich weiß nicht, wie ich den zurückgegebenen Dateicache in Bitmap konvertieren kann. Grundsätzlich wollte ich die Bitmap nur einer ImageView zuordnen.

File mSaveBit = imageLoader.getDiscCache().get(easyPuzzle);

Log.d("#ImageValue: ", ""+mSaveBit.toString());
mImageView.setImageBitmap(mSaveBit);

Fehler: "Die Methode setImageBitmap (Bitmap) vom Typ ImageView ist für die Argumente (File) nicht anwendbar."

23
rahstame

Sie sollten BitmapFactory verwenden können:

File mSaveBit; // Your image file
String filePath = mSaveBit.getPath()  
Bitmap bitmap = BitmapFactory.decodeFile(filePath);
mImageView.setImageBitmap(bitmap);
74
Karl
  1. Datei definieren

    String fileName = "/myImage.jpg";
    File file = new File(fileName); 
    
  2. bitmap des Bildes erhalten

    Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
    
  3. Setzen Sie die Bitmap auf ImageView

    myImageView.setImageBitmap(bitmap);
    
9
Hardik Gajera

Kotlin-Version 

  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

Hier ist ein einfacher Code, um in diesem Fall ein skaliertes Bild für ImageView zu erstellen - Breite: 400 - Höhe: 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

Dies ist nicht die richtige Frage, aber wenn Sie das Flag .cacheInMemory () im ImageLoader-Setup verwenden, können Sie die Bitmap abrufen, ohne sie jederzeit mit BitmapFactory neu erstellen zu müssen, um die Speichernutzung zu sichern.

Benutz einfach:

Bitmap bitmap = ImageLoader.getInstance (). GetMemoryCache () · get ("URL als Schlüssel");

0
Euler Tiago