博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Drawable 和String 相互转化
阅读量:6081 次
发布时间:2019-06-20

本文共 1785 字,大约阅读时间需要 5 分钟。

hot3.png

在我们经常应用开发中,经常用到将drawable和string相互转化。注意这情况最好用于小图片入icon等。

public synchronized Drawable byteToDrawable(String icon) {         		byte[] img=Base64.decode(icon.getBytes(), Base64.DEFAULT);		Bitmap bitmap;          if (img != null) {                              bitmap = BitmapFactory.decodeByteArray(img,0, img.length);              @SuppressWarnings("deprecation")			Drawable drawable = new BitmapDrawable(bitmap);                            return drawable;          }          return null;        }	public  synchronized  String drawableToByte(Drawable drawable) {                  if (drawable != null) {              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);              drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),                      drawable.getIntrinsicHeight());              drawable.draw(canvas);              int size = bitmap.getWidth() * bitmap.getHeight() * 4;                        // 创建一个字节数组输出流,流的大小为size              ByteArrayOutputStream baos = new ByteArrayOutputStream(size);              // 设置位图的压缩格式,质量为100%,并放入字节数组输出流中              bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);              // 将字节数组输出流转化为字节数组byte[]              byte[] imagedata = baos.toByteArray();                         String icon= Base64.encodeToString(imagedata, Base64.DEFAULT);            return icon;          }          return null;      }

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://my.oschina.net/xcy2011sky/blog/492681

你可能感兴趣的文章
Telegraf+Influxdb+Grafana构建监控平台
查看>>
使用excel 展现数据库内容
查看>>
C#方法拓展
查看>>
MySql.Data.dll的版本
查看>>
Linux系统磁盘管理
查看>>
hdu 2191 (多重背包+二进制优化)
查看>>
home.php
查看>>
neo4j---删除关系和节点
查看>>
redis分布式锁redisson
查看>>
什么样的企业可以称之为初创企业?
查看>>
Python爬虫之BeautifulSoup
查看>>
《HTML 5与CSS 3权威指南(第3版·下册)》——第20章 使用选择器在页面中插入内容...
查看>>
如何判断自己适不适合做程序员?这几个特点了解一下
查看>>
newinstance()和new有什么区别
查看>>
android下载封装类
查看>>
[node] 用 node-webkit 开发桌面应用
查看>>
Nginx访问控制和虚拟主机
查看>>
report widget not working for external users
查看>>
windows phone 摄像头得到图片是旋转90°
查看>>
Linux--sed使用
查看>>