android读取图片

来源:互联网 发布:80s下载软件 编辑:程序博客网 时间:2024/06/09 18:45
一:读取res中的图片
//读取本地res中的图片
public static Bitmap readBitmap(int resid){
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Bitmap.Config.RGB_565;
opt.inPurgeable = true;
opt.inInputShareable = true;
//获取资源图片
InputStream input = getResources().openRawResource(resid);
return BitmapFactory.decodeStream(input,null,opt);
}
//确定不再需要该bitmap对象的时候可以将其回收掉
public static void recycle(Bitmap bitmap){
if(bitmap!=null && !bitmap.isRecycle()){
bitmap.recycle();
System.gc();//提醒系统及时回收
}
}
二:放在assets中的图片(只读)
InputStream is = context.getResources().getAssets().open("icon.png");
Bitmap bitmap = BitmapFactory.decodeStream(is);
三:读取sd卡中的图片
Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/icon.png");
四:读取网络图片
public static Bitmap loadImageFromUrl(String url){   
   URL myFileUrl = null;   
   Bitmap bitmap = null;   
   try {   
    myFileUrl = new URL(url);   
   } catch (MalformedURLException e) {   
    e.printStackTrace();   
   }   
   try {   
    HttpURLConnection conn = (HttpURLConnection) myFileUrl.openConnection();   
    conn.setDoInput(true);   
    conn.connect();   
    InputStream is = conn.getInputStream();   
    bitmap = BitmapFactory.decodeStream(is);   
    is.close();   
   } catch (IOException e) {   
    e.printStackTrace();   
   }   
   return bitmap;   
}
原创粉丝点击