简单谈谈Resource,Drawable和Bitmap之间的转换

一直接触这些东西,还是归个类整理一下比较好。

 

Resource -> Drawable

Drawable draw1 = this.getResources().getDrawable(R.drawable.icon);

Drawable -> Bitmap

1.

 

复制代码
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;  
}  
复制代码

2.

Bitmap bitmap = ((android.graphics.drawable.BitmapDrawable) pm.getApplicationIcon(appInfo)).getBitmap();

 

posted @   Rex..  阅读(24136)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
历史上的今天:
2010-07-17 石头剪刀布游戏
2010-07-17 阴历转阳历&&阳历转阴历&&星座查询
点击右上角即可分享
微信分享提示