android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下:
1、Drawable → Bitmap
Java代码
1. public static Bitmap drawableToBitmap(Drawable drawable) {
2.
3. Bitmap bitmap = Bitmap
4. .createBitmap(
5. drawable.getIntrinsicWidth(),
6. drawable.getIntrinsicHeight(),
7. drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
8. : Bitmap.Config.RGB_565);
9. Canvas canvas = new Canvas(bitmap);
10. //canvas.setBitmap(bitmap);
11. drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
12. drawable.draw(canvas);
13. return bitmap;
14. }
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;
}
2、从资源中获取Bitmap
Java代码
1. Resources res=getResources();
2.
3. Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);
Resources res=getResources();
Bitmap bmp=BitmapFactory.decodeResource(res, R.drawable.pic);
3、Bitmap → byte[]
Java代码
1. private byte[] Bitmap2Bytes(Bitmap bm){
2. ByteArrayOutputStream baos = new ByteArrayOutputStream();
3. bm.compress(Bitmap.CompressFormat.PNG, 100, baos);
4. return baos.toByteArray();
5. }
private byte[] Bitmap2Bytes(Bitmap bm){ ByteArrayOutputStream baos = new ByteArrayOutputStream(); bm.compress(Bitmap.CompressFormat.PNG, 100, baos); return baos.toByteArray(); }
4、 byte[] → Bitmap
Java代码
1. private Bitmap Bytes2Bimap(byte[] b){
2. if(b.length!=0){
3. return BitmapFactory.decodeByteArray(b, 0, b.length);
4. }
5. else {
6. return null;
7. }
8. }
private Bitmap Bytes2Bimap(byte[] b){
if(b.length!=0){
return BitmapFactory.decodeByteArray(b, 0, b.length);
}
else {
return null;
}
}
以上是我在实践中遇到的一些转换,以后遇到类似的就不用到处找了,希望对大家也有一点用处!
分享到:
相关推荐
主要介绍了Android Drawable和Bitmap的转换实例详解的相关资料,需要的朋友可以参考下
下面小编就为大家带来一篇android图片文件的路径地址与Uri的相互转换方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
这些都简单,但是当我获取到了图片的Url时,我就遇到了一个非常尴尬的问题。就是如何将Url转换为Drawabl并且添加到ImageView. 这边的获取图片的Url就不说了。我们看一下如何将Url转换为Drawable. Url转换为Drawable ...
主要介绍了Android 将本地资源图片转换成Drawable,进行设置大小操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
本文实例讲述了android图片类型之间相互转换实现代码。分享给大家供大家参考。具体如下: android在处理一写图片资源的时候,会进行一些类型的转换,现在有空整理一下: 1、Drawable → Bitmap Java代码如下: ...
eoeAndroid特刊第二期:Android图像处理篇 pdf,eoeAndroid策划的第二篇专题,主要整理和翻译在Android中进行图像处理的一些资源和文章,通过本专题内容的学习,您可以掌握如何在Android上对图片编程,主要包括但不...
android中常用的功能抽取出来的Demo.android dp和px之间转换,android root下禁用组件,android 还原短信,android 开机启动,android 判断网络状态,android 设置apn,android 调节屏幕亮度,android 重启,异步...
Android单位转换工具类(ToolUnit.java),sp/dp/px互转 自定义Toast工具类(ToolToast.java),自定义背景色、字体颜色、大小、边框等 Properties操作工具类(ToolProperties.java),读写Properties文件操作 网络操作...
基准环境:Android studio 3.1.3 gradle:4.4 通过将资源库图片转化为Bitmap,使用Zxing的接口完成二维码识别。
将SVG或Android Vector Drawable转换为Compose代码。 为什么这个项目 在的开头,它不支持SVG文件和Android Vector Drawables。 这也给将应用程序迁移到多平台(台式机和Android)造成了困难。 目前,它确实支持桌面...
----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...
【Android 安装包优化】Android 中使用 SVG 图片 ( 批量转换 SVG 格式图片为 Vector Asset 矢量图资源 ) https://hanshuliang.blog.csdn.net/article/details/116588634 博客资源
主要介绍了Android处理图像数据转换的各种方法,本文讲解了RGB值转Bitmap、Color值转Bitmap、字节数组转Bitmap、读取文件转Bitmap、读取资源转Bitmap、输入流转Bitmap等内容,需要的朋友可以参考下
File文件操作工具、日期获取和计算工具、界面跳转Intent操作工具、字符串验证和数值转换操作工具、手机震动工具、系统资源操作工具、网络检测工具、 wifi操作工具、单位换算工具、zip压缩和解压操作工具、XML解析...
通过反射获取R.drawable的所有Field(Android的每张图片资源会自动转换为R.drawable的静态Field),并将这些Field值添加到一个List集合中。 2.从第一步得到的List集合中随机抽取N/2个图片ID。 3.从第二步得到的N...
本资源为一套基于Android平台的OCR(光学字符识别)文字识别项目。它可以帮助开发者快速实现移动端的文字识别功能,支持多种语言,包括但不限于中文、英文等。该项目采用开源技术,可二次开发定制,满足各种应用场景...
它导入Android图标与Material图标的Drawable ,批量导入Drawable ,多源导入Drawable(即导入某张图片各种dpi对应的图片) 14.SelectorChapek for Android 通过资源文件命名自动生成Selector文件。 15....
3.8 页面间的转换 3.9 activity调用 3.10 多个activity间的数据传递 3.11 将数据返回到前一个activity 3.12 对话框交互处理 3.13 文字颜色置换 3.14 文字字体设置 3.15 拖动相片特效 3.16 简易计算器 3.17 about信息...