将文件对象转换为位图

rah*_*ame 36 java android caching bitmap universal-image-loader

我正在使用Universal-Image-Loader,这个功能可以从SD卡访问图像的文件缓存.但我不知道如何将返回的文件缓存转换为位图.基本上我只想将位图分配给ImageView.

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

Log.d("#ImageValue: ", ""+mSaveBit.toString());
mImageView.setImageBitmap(mSaveBit);
Run Code Online (Sandbox Code Playgroud)

错误:"ImageView类型中的方法setImageBitmap(Bitmap)不适用于参数(File)"

Kar*_*arl 102

你应该可以使用BitmapFactory:

File mSaveBit; // Your image file
String filePath = mSaveBit.getPath()  
Bitmap bitmap = BitmapFactory.decodeFile(filePath);
mImageView.setImageBitmap(bitmap);
Run Code Online (Sandbox Code Playgroud)


Har*_*era 10

  1. 定义文件

    String fileName = "/myImage.jpg";
    File file = new File(fileName); 
    
    Run Code Online (Sandbox Code Playgroud)
  2. 获取图像的位图

    Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将位图设置为ImageView

    myImageView.setImageBitmap(bitmap);
    
    Run Code Online (Sandbox Code Playgroud)