Android Drawable和Bitmap的转换实例详解
Android Drawable和Bitmap的转换实例详解
通常我们需要通过代码去设置图片,就需要设置图片Bitmap和Drawable的转换,下面整理了几种方式
一、Bitmap转Drawable
Bitmap bm=xxx; //xxx根据你的情况获取 BitmapDrawable bd=new BitmapDrawable(bm);//因为BtimapDrawable是Drawable的子类,最终直接使用bd对象即可。
二、 Drawable转Bitmap
Drawable d=xxx; //xxx根据自己的情况获取drawable BitmapDrawable bd = (BitmapDrawable) d; Bitmap bm = bd.getBitmap(); //最终bm就是我们需要的Bitmap对象了。
从资源中获取Bitmap
public static Bitmap getBitmapFromResources(Activity act, int resId) { Resources res = act.getResources(); return BitmapFactory.decodeResource(res, resId); }
byte[] → Bitmap
public static Bitmap convertBytes2Bimap(byte[] b) { if (b.length == 0) { return null; } return BitmapFactory.decodeByteArray(b, 0, b.length); }
// Bitmap → byte[]
public static byte[] convertBitmap2Bytes(Bitmap bm) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); bm.compress(Bitmap.CompressFormat.PNG, 100, baos); return baos.toByteArray(); }
只是很简单代码片段,还是很容易懂得
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
Android App开发中将View或Drawable转为Bitmap的方法
View转换为Bitmap Android中经常会遇到把View转换为Bitmap的情形,比如,对整个屏幕视图进行截屏并生成图片:Coverflow中需要把一页一页的view转换为Bitmap.以便实现复杂的图形效果(阴影.倒影效果等):再比如一些动态的实时View为便于观察和记录数据.需要临时生成静态的Bitmap. 实现方法: 1)下面是笔者经常用的一个转换方法 public static Bitmap convertViewToBitmap(View view, int bitmapWid
-
Android Bitmap和Drawable的对比
Android Bitmap和Drawable的对比 Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565.RGB888.作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低.我们理解为一种存储对象比较好. Drawable - 作为Android平下通用的图形对象,它可以装载常用格式的图像,比如GIF.PNG.JPG,当然也支持BMP,当然还提供一些高级的可视化对象,比如渐变.图形等. A bitmap is a Drawable. A Dra
-
Android中区别Drawable Bitmap Canvas Paint
1.概念区别: 很多网友刚刚开始学习Android平台,对于Drawable.Bitmap.Canvas和Paint它们之间的概念不是很清楚,其实它们除了Drawable外早在Sun的J2ME中就已经出现了,但是在Android平台中,Bitmap.Canvas相关的都有所变化. 首先让我们理解下Android平台中的显示类是View,但是还提供了底层图形类android.graphics,今天所说的这些均为graphics底层图形接口. Bitmap - 称作位图 一般位图的文件格式后缀为bm
-
Android Bitmap和Drawable相互转换的简单代码
很多开发者表示,不知道Android的Drawable和Bitmap之间如何相关转换.下面Android123给大家两种比较简单高效的方法. 一.Bitmap转Drawable 复制代码 代码如下: Bitmap bm=xxx; //xxx根据你的情况获取 BitmapDrawable bd=BitmapDrawable(bm); Android开发网提示因为BtimapDrawable是Drawable的子类,最终直接使用bd对象即可. 二. Drawable转Bitmap 转成Bitmap对
-
Android Drawable和Bitmap的转换实例详解
Android Drawable和Bitmap的转换实例详解 通常我们需要通过代码去设置图片,就需要设置图片Bitmap和Drawable的转换,下面整理了几种方式 一.Bitmap转Drawable Bitmap bm=xxx; //xxx根据你的情况获取 BitmapDrawable bd=new BitmapDrawable(bm);//因为BtimapDrawable是Drawable的子类,最终直接使用bd对象即可. 二. Drawable转Bitmap Drawable d=xxx;
-
Android 通过网络图片路径查看图片实例详解
Android 通过网络图片路径查看图片实例详解 1.在项目清单中添加网络访问权限 <!--访问网络的权限--> <uses-permission android:name="android.permission.INTERNET"/> 2.获取网络图片数据 /** * 获取网络图片的数据 * @param path 网络图片路径 * @return * @throws Exception */ public static byte[] getImage(Str
-
Android 自定义imageview实现图片缩放实例详解
Android 自定义imageview实现图片缩放实例详解 觉得这个自定义的imageview很好用 性能不错 所以拿出来分享给大家 因为不会做gif图 所以项目效果 就不好贴出来了 把代码贴出来 1.项目结构图 2.Compat.class package com.suo.image; import android.os.Build.VERSION; import android.os.Build.VERSION_CODES; import android.view.View; pu
-
Android屏幕及view的截图实例详解
Android屏幕及view的截图实例详解 屏幕可见区域的截图 整个屏幕截图的话可以用View view = getWindow().getDecorView(); public static Bitmap getNormalViewScreenshot(View view) { view.setDrawingCacheEnabled(true); view.buildDrawingCache(); return view.getDrawingCache(); } scrollview的整体截屏
-
Android 使用selector改变按钮状态实例详解
Android 使用selector改变按钮状态实例详解 在res/drawable文件夹新增一个文件,此文件设置了图片的触发状态,你可以设置 : state_pressed,state_checked,state_pressed,state_selected,state_focused,state_enabled 等几个状态: < selector xmlns:android="http://schemas.android.com/apk/res/android"> &l
-
Android Fragment滑动组件ViewPager的实例详解
Android Fragment滑动组件ViewPager的实例详解 1适配器FragmentPagerAdapter的实现 对于FragmentPagerAdapter的派生类,只需要重写getItem(int)和getCount()就可以了. public class MyFragmentPagerAdapter extends FragmentPagerAdapter { private List<Fragment> list; public MyFragmentPagerAdapter
-
Android开心消消乐代码实例详解
突然想要在android上写一个消消乐的代码,在此之前没有系统地学过java的面向对象,也没有任何android相关知识,不过还是会一点C++.8月初开始搭建环境,在这上面花了相当多的时间,然后看了一些视频和电子书,对android有了一个大概的了解,感觉差不多了的时候就开始写了. 疯狂地查阅各种资料,反反复复了好几天后,也算是写出了个成品.原计划有很多地方还是可以继续写下去的,比如UI设计,比如动画特效,时间设计,关卡设计,以及与数据库的连接,如果可以的话还能写个联网功能,当然因为写到后期内心
-
java与JSON数据的转换实例详解
java与JSON数据的转换实例详解 JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互.) 代码中有这么一句,是后台的封装数据. JSONObject jo = JSONObject.fromObject(map); 常见的java代码转换成json --请注意,这个方法曾经给我造成过困惑.因为,它在对Object转换的时候是按照domain类中的所有getXXX()方
-
java 进制转换实例详解
java 进制转换实例详解 十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinaryString(int i) 十六进制转成十进制 Integer.valueOf("FFFF",16).toString() 八进制转成十进制 Integer.valueOf("876",8).toString() 二进制转十进制 Integ
-
C++宽字符与普通字符的转换实例详解
C++宽字符与普通字符的转换实例详解 把字符串转换成宽字符串, 实例代码: wstring string2Wstring(string sToMatch) { #ifdef _A_WIN int iWLen = MultiByteToWideChar( CP_ACP, 0, sToMatch.c_str(), sToMatch.size(), 0, 0 ); // 计算转换后宽字符串的长度.(不包含字符串结束符) wchar_t *lpwsz = new wchar_t [iWLen + 1];
随机推荐
- 利用Go语言追加内容到文件末尾
- oracle 中 sqlplus命令大全
- 如何把Java程序窗口在屏幕中间显示
- 解析thinkphp的左右值无限分类
- PHP自动生成表单代码分享
- phpwind中的数据库操作类
- 使用ob系列函数实现PHP网站页面静态化
- 表格隔行换色 css expression
- 探讨vertical-align应用
- sql2005创建远程登录帐户的sql语句
- 用jquery获取自定义的标签属性的值简单实例
- 原生javascript实现拖动元素示例代码
- android如何设置小区广播默认信道(50与60并支持双卡)
- PHP基于ORM方式操作MySQL数据库实例
- PHP Stream_*系列函数
- Maven setting.xml配置文件详解
- 安卓版微信小程序跳一跳辅助
- 使用 vue 实例更好的监听事件及vue实例的方法
- php写app用的框架整理
- 如何为vuex实现带参数的 getter和state.commit