Android 图片转换为drawable、bitmap 、file

一、Bitmap

1、
Resources resources = mContext.getResources();
Drawable drawable = resources.getDrawable(R.drawable.a);
imageview.setBackground(drawable);

2、

Resources r = this.getContext().getResources();
Inputstream is = r.openRawResource(R.drawable.my_background_image);
BitmapDrawable  bmpDraw = new BitmapDrawable(is);
Bitmap bmp = bmpDraw.getBitmap();

3、
Bitmap bmp=BitmapFactory.decodeResource(r, R.drawable.icon);

Bitmap newb = Bitmap.createBitmap( 300, 300, Config.ARGB_8888 ); 

4、
InputStream is = getResources().openRawResource(R.drawable.icon);  

Bitmap mBitmap = BitmapFactory.decodeStream(is);

注意: Bitmap bmp=BitmapFactory.decodeResource(r, R.drawable.icon); 是R.drawable.icon,不是R.mipmap.icon,否則失敗。

二、Android 之 Bitmap 和 File 相互转换

try{
String filePath=”/storage/emulated/0/123.jpg"; 
Bitmap bitmap=BitmapFactory.decodeFile(filePath,getBitmapOption(2)); //将图片的长和宽缩小味原来的1/2
}catch(Exception e){
e.printStackTrace();
}

private Options getBitmapOption(int inSampleSize){ 
System.gc(); 
BitmapFactory.Options options = new BitmapFactory.Options(); 
options.inPurgeable = true; 
options.inSampleSize = inSampleSize; 
return options; 
}

三、Bitmap对象保存图片文件

public void saveBitmapFile(Bitmap bitmap){ 
File file=new File(“/storage/emulated/0/1234.jpg”);//将要保存图片的路径 
  try { 
          BufferedOutputStream bos = new BufferedOutputStream(new     FileOutputStream(file)); 
          bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos); 
          bos.flush(); 
          bos.close(); 
    } catch (IOException e) { 
        e.printStackTrace(); 
    } 
}

转载自http://cfanz.cn/index.php?c=article&a=read&id=141146 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值