Android 使用intent对Bitmap的处理(拍照、裁剪、从图库选择)
2014-10-27 21:24
369 查看
原文地址:
上(原理):http://blog.csdn.net/floodingfire/article/details/8144604
中(相册):http://blog.csdn.net/floodingfire/article/details/8144615
下(相机):http://blog.csdn.net/floodingfire/article/details/8144617
重要点:
1.
此图的scale标志:true表示无论如何拖动都已经固定了裁剪框的大小。
return-data:如果裁剪的图片过大,不宜保存在内存中,最好通过Uri来保存,可以试着return-data为false,通过MediaStore.EXTRA_OUTPUT的uri来保存。
拍照时可以利用tempUri,相册选取时利用data.getExtras返回的Uri直接设置即可。
注意:uri必须以file://开头,不然会导致“无法保存剪裁的图片”的错误。
2.安卓默认允许的应用内存为16M,查看Bitmap的Config可以看到
public static final Bitmap.Config ALPHA_8
public static final Bitmap.Config ARGB_4444
public static final Bitmap.Config ARGB_8888
public static final Bitmap.Config RGB_565
这四种枚举值代表图片的存储方式,A为alpha,R为red,G为green,B为blue。
所以可知其位数:
public static final Bitmap.Config ALPHA_8,位数8
public static final Bitmap.Config ARGB_4444 ,位数4+4+4+4 = 16
public static final Bitmap.Config ARGB_8888,位数8+8+8+8 = 32
public static final Bitmap.Config RGB_565,位数5+6+5 = 16
计算加载bitmap所需内存时,用像素值*位数即可,eg:1920*1080*32 表示1920*1080的存储方式为ARGB_8888的位图
上(原理):http://blog.csdn.net/floodingfire/article/details/8144604
中(相册):http://blog.csdn.net/floodingfire/article/details/8144615
下(相机):http://blog.csdn.net/floodingfire/article/details/8144617
重要点:
1.
附加选项 | 数据类型 | 描述 |
crop | String | 发送裁剪信号 |
aspectX | int | X方向上的比例 |
aspectY | int | Y方向上的比例 |
outputX | int | 裁剪区的宽 |
outputY | int | 裁剪区的高 |
scale | boolean | 是否保留比例 |
return-data | boolean | 是否将数据保留在Bitmap中返回 |
data | Parcelable | 相应的Bitmap数据 |
circleCrop | String | 圆形裁剪区域? |
MediaStore.EXTRA_OUTPUT ("output") | URI | 将URI指向相应的file:///...,详见代码示例 |
return-data:如果裁剪的图片过大,不宜保存在内存中,最好通过Uri来保存,可以试着return-data为false,通过MediaStore.EXTRA_OUTPUT的uri来保存。
拍照时可以利用tempUri,相册选取时利用data.getExtras返回的Uri直接设置即可。
注意:uri必须以file://开头,不然会导致“无法保存剪裁的图片”的错误。
2.安卓默认允许的应用内存为16M,查看Bitmap的Config可以看到
public static final Bitmap.Config ALPHA_8
public static final Bitmap.Config ARGB_4444
public static final Bitmap.Config ARGB_8888
public static final Bitmap.Config RGB_565
这四种枚举值代表图片的存储方式,A为alpha,R为red,G为green,B为blue。
所以可知其位数:
public static final Bitmap.Config ALPHA_8,位数8
public static final Bitmap.Config ARGB_4444 ,位数4+4+4+4 = 16
public static final Bitmap.Config ARGB_8888,位数8+8+8+8 = 32
public static final Bitmap.Config RGB_565,位数5+6+5 = 16
计算加载bitmap所需内存时,用像素值*位数即可,eg:1920*1080*32 表示1920*1080的存储方式为ARGB_8888的位图
相关文章推荐
- Android--使用手机拍照获取图片路径,小米手机选择照片问题处理
- Android拍照或从图库选择图片并裁剪
- 对图片裁剪框架 ucrop 的二次封装的工具类,添加从图库选择和拍照获取图片,项目中可直接使用,十分便捷
- android从摄像头或者图库选择图片,并进行裁剪,可以用来用户头像处理
- Android拍照或从图库选择图片并裁剪
- android 打开一个选择拍照或是本地图库的Intent,接受此Intent返回的信息
- Android 拍照,从图库选择照片,并裁剪,上传到服务器
- Android拍照或从图库选择图片并裁剪
- 【Android】android4.4从图库选择图片,获取图片路径并裁剪
- Android拍照、调用系统图库、裁剪图片到指定大小后输出
- Android 4.4从图库选择图片,获取图片路径并裁剪
- Android 4.4从图库选择图片,获取图片路径并裁剪
- android图库中选择照片然后裁剪,完爆目前各种所谓的教学,看不懂你打我。
- Android-使用Matrix对Bitmap进行处理
- android拍照选择图库后将照片剪裁压缩显示到imageview上
- android 相机拍照或从图库获取图片并裁剪设置头像
- Android 4.4从图库选择图片,获取图片路径并裁剪 获取路径出错 image%
- Android 4.4从图库选择图片,获取图片路径并裁剪
- Android 4.4从图库选择图片,获取图片路径并裁剪
- Android 4.4从图库选择图片,获取图片路径并裁剪