static Bitmap drawableToBitmap(Drawable drawable) // drawable 转换成bitmap
{
int width = drawable.getIntrinsicWidth();// 取drawable的长宽
int height = drawable.getIntrinsicHeight();
Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ?Bitmap.Config.ARGB_8888:Bitmap.Config.RGB_565;// 取drawable的颜色格式
Bitmap bitmap = Bitmap.createBitmap(width, height, config);// 建立对应bitmap
Canvas canvas = new Canvas(bitmap);// 建立对应bitmap的画布
drawable.setBounds(0, 0, width, height);
drawable.draw(canvas);// 把drawable内容画到画布中
return bitmap;
}

调用代码,getDrawable过期了,但是还可以用,替换的方法暂未发现

 Bitmap bitmap = drawableToBitmap(this.getResources().getDrawable(R.drawable.ic_launcher));

2.图片转base64

 public String Bitmap2StrByBase64(Bitmap bit){
ByteArrayOutputStream bos=new ByteArrayOutputStream();
bit.compress(Bitmap.CompressFormat.JPEG, 40, bos);//参数100表示不压缩
byte[] bytes=bos.toByteArray();
return Base64.encodeToString(bytes, Base64.DEFAULT);
}

1.Drawable—>Bitmap

Resources res=getResources();

Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.sample_0);
Resources res=getResources();
private byte[] Bitmap2Bytes(Bitmap bm){

2.Bitmap---->Drawable

Drawable drawable =new BitmapDrawable(bmp);

3、Drawable → Bitmap

public static Bitmap drawableToBitmap(Drawable drawable) {

Bitmap bitmap = Bitmap.createBitmap(

drawable.getIntrinsicWidth(),

drawable.getIntrinsicHeight(),

drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888

: Bitmap.Config.RGB_565);

Canvas canvas = new Canvas(bitmap);

//canvas.setBitmap(bitmap);

drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());

drawable.draw(canvas);

return bitmap;

}

4、从资源中获取Bitmap

Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);

5、Bitmap → byte[]

ByteArrayOutputStream baos = new ByteArrayOutputStream();

bm.compress(Bitmap.CompressFormat.PNG, 100, baos);

return baos.toByteArray();   }

6、 byte[] → Bitmap

private Bitmap Bytes2Bimap(byte[] b){

if(b.length!=0){

return BitmapFactory.decodeByteArray(b, 0, b.length);

}

else {

return null;

}

}

最新文章

  1. 【zz】matlab 均值方差
  2. C-随笔
  3. iTween研究院之学习笔记Move移动篇
  4. java解析json与map,list相互之间的转换
  5. windows服务相关
  6. ios 好去处
  7. jquery,js常用特效名称
  8. python刷取CSDN博文访问量之三
  9. html5 乒乓球(碰撞检测)
  10. Linux入门(六)ubuntu下vim编辑器安装与使用
  11. cpu、内存、缓存、硬盘使用率
  12. Arduino库函数中文说明
  13. C重新入门
  14. gitlab:开发+测试+发布的全流程图
  15. Vue.js——基于$.ajax实现数据的跨域增删查改
  16. 02:Django进阶篇
  17. 使用EasyWechat快速开发微信公众号支付
  18. 关于sql查询语句中的别名
  19. [Android实例] Android 6.0RecyclerView SwipeRefreshLayout 下拉刷新 上拉加载
  20. cuda yv12_to_rgb24

热门文章

  1. 常用帝国cms标签收录
  2. 50个Android开发技巧(03 自己定义ViewGroup)
  3. HTML&CSS精选笔记_HTML与CSS网页设计概述
  4. swift - 之TabBarController的用法
  5. MQTT 3.1协议非严肃反思录
  6. Zabbix漏洞汇总
  7. Array.prototype.forEach数组遍历
  8. 关于移动端rem 布局的一些总结
  9. 高中生的IT之路-1.5西餐厅服务生
  10. 【BZOJ3362-3365】USACO水题四连A