Bitmap,Drawable和资源文件之间的相互转换

       最近在写一些小Demo的时候老是用到资源文件转Bitmap或者Drawable的情况,或者后两者互相转换的情况。于是我就看了一下API文档。简单的画了一个它们之间的转换图:




要点:

1,BitmapFactory实现从资源文件到Bitmap直接转换

2,BitmapDrawable和Resources都可以实现从资源文件到Drawable之间的直接转换

3,BitmapDrawable实现Bitmap和Drawable之间转换


关键代码:

1,

getResources();//获取Resources对象

BitmapFactory.decodeResource(Resources res,int id);//实现转换


2,

(a)Resources实现转换

getResources().getDrawable(int id);  //getXXX()方法

(b)BitmapDrawable实现转换

(Drawable)(new Drawable(InputStream is) ) //构造方法,BitmapDrawable是Drawable直接子类

3,

getBitmap()  //BitmapDrawable使用此方法直接获取Bitmap


主要还是上面那个图,后面代码作为简单参考。

猜你喜欢

转载自blog.csdn.net/hfut_why/article/details/80721898