
Android bitmap和drawable的区别和转换如下:
1bitmap 转换 drawable
Bitmap bitmap = new Bitmap(); Drawable drawable = new BitmapDrawable(bitmap);//Drawable drawable = new FastBitmapDrawable(bitmap);
2Drawable to Bitmap
BitmapDrawable, FastBitmapDrawable直接用getBitmap
b 其他类型的Drawable用Canvas画到一个bitmap上
Canvas canvas = new Canvas(bitmap)drawabledraw(canvas);
Drawable d = ImagesListget(0); Bitmap bitmap = ((BitmapDrawable)d)getBitmap();
区别如下:
1Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565、RGB888。作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低。
2Drawable - 作为Android平下通用的图形对象,它可以装载常用格式的图像,比如GIF、PNG、JPG,当然也支持BMP,当然还提供一些高级的可视化对象,比如渐变、图形等。
另外还有如下相类似的格式:
Canvas - 名为画布,可以看作是一种处理过程,使用各种方法来管理Bitmap、GL或者Path路径,同时它可以配合Matrix矩阵类给图像做旋转、缩放等 *** 作,同时Canvas类还提供了裁剪、选取等 *** 作。
Paint - 可以把它看做一个画图工具,比如画笔、画刷。管理了每个画图工具的字体、颜色、样式。
这里有一个方法可以获取手机所有包含的文件夹路径,不知道是不是你想要的效果,代码如下
[mw_shl_code=java,true] private void getPhotoThumbnail() {
//查询的列
String[] projection = new String[] { MediaStoreImagesMedia_ID,
MediaStoreImagesMediaBUCKET_ID, // 直接包含该文件的文件夹ID,防止在不同下的文件夹重名
MediaStoreImagesMediaBUCKET_DISPLAY_NAME, // 直接包含该文件的文件夹名
MediaStoreImagesMediaDISPLAY_NAME, // 文件名
MediaStoreImagesMediaDATA, // 绝对路径
"count("+MediaStoreImagesMedia_ID+")"//统计当前文件夹下共有多少张
};
//这种写法是为了进行分组查询,详情可参考>
SDK 中有专门取SD卡路径的静态方法
public String getSDPath(){
File sdDir = null;
boolean sdCardExist = EnvironmentgetExternalStorageState()
equals(AndroidosEnvironmentMEDIA_MOUNTED); //判断sd卡是否存在
if (sdCardExist) {
sdDir = EnvironmentgetExternalStorageDirectory();//获取跟目录
}
return sdDirtoString();
}
不要写死路径
以上就是关于Android Bitmap 与 Drawable之间的区别和转换全部的内容,包括:Android Bitmap 与 Drawable之间的区别和转换、如何获取相册路径、android如何从SD卡读取图片文件转化为bitmap等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)