【Android开发——Drawable与Bitmap知识】吾生也有涯,而知也无涯。这篇文章主要讲述Android开发——Drawable与Bitmap知识相关的知识,希望能为你提供帮助。
从资源中获得drawableDrawable drawable = getResources().getDrawable(R.drawable.xxx);
drawable转换bitmapdrawbleBitmapDrawable bitmapdrawable = (BitmapDrawable) getResources().getDrawable(R.drawable.xxx);
drawble转换为bitmap
- 第一种方式
实际上,先是把drawable转换为bitmapdrawable,再将bitmapdrawable转换为bitmap,比较简单
Bitmap bitmap= bitmapdrawable.getBitmap();
- 第二种方式
需要重新绘图,较为麻烦,推荐使用第一种
public static Bitmap drawableToBitmap(Drawable drawable) { // 取 drawable 的长宽 int w = drawable.getIntrinsicWidth(); int h = drawable.getIntrinsicHeight(); // 取 drawable 的颜色格式 Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565; // 建立对应 bitmap Bitmap bitmap = Bitmap.createBitmap(w, h, config); // 建立对应 bitmap 的画布 Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, w, h); // 把 drawable 内容画到画布中 drawable.draw(canvas); return bitmap; }
- 第一种方式
Drawable drawable = new BitmapDrawable(bitmap);
- 第二种方式
BitmapDrawable bd= new BitmapDrawable(getResource(), bitmap);
PS:bitmapdrawable是drawable的子类,可以直接使用drawable中的方法
推荐阅读
- android TextView自动显示成科学计算法
- Mybatis之mapper.xml配置文件中的#{}和${}
- Java:StringBuilderappend换行问题
- 475. Heaters (start binary search, appplication for binary search)
- AndroidRecyclerView网格布局
- Spring Angular搜索属性应用实例图解
- Spring Angular文件上传应用程序示例图解
- Spring Angular CRUD应用实例图解
- Spring Angular登录和注销应用程序示例