android照相、相册获取图片剪裁报错的解决方法
2015-01-12 14:47
495 查看
最近在项目中用到了照相和相册取图剪裁上传头像,就在网上逛了逛,基本都是千篇一律,就弄下来用了用,没想到的是各种各样的奇葩问题就出现了。先给大家看看代码问题慢慢来解决
这是调用相机
在这里我返回了一个file对象,这是应为项目中需要,大家可以不必真写,直接传一个Uri对象过来就好了
下面是调用相册
?
当然接下来是调用Activity的OnActivityResult了
?
当然还有大家关心的剪切
?
在很多博客中都把“return-data”设置为了true然后在onActivityResult中通过data.getParcelableExtra("data")来获取数据,不过这样的话dp这个变量的值就不能太大了,不然你的程序就挂了。这里也就是我遇到问题的地方了,在大多数高配手机上这样用是没有问题的,不过很多低配手机就有点hold不住了,直接就异常了,包括我们的国产神机米3也没能hold住,所以我建议大家不要通过return data 大数据,小数据还是没有问题的,说以我们在剪切图片的时候就尽量使用Uri这个东东来帮助我们。
下面是我们进行剪裁用到的一些参数
Exta Options Table for image/* crop:
最后把通过Uri获得bitmap的方法给大家贴上
?
?
当然接下来是调用Activity的OnActivityResult了
?
当然还有大家关心的剪切
?
在很多博客中都把“return-data”设置为了true然后在onActivityResult中通过data.getParcelableExtra("data")来获取数据,不过这样的话dp这个变量的值就不能太大了,不然你的程序就挂了。这里也就是我遇到问题的地方了,在大多数高配手机上这样用是没有问题的,不过很多低配手机就有点hold不住了,直接就异常了,包括我们的国产神机米3也没能hold住,所以我建议大家不要通过return data 大数据,小数据还是没有问题的,说以我们在剪切图片的时候就尽量使用Uri这个东东来帮助我们。
下面是我们进行剪裁用到的一些参数
Exta Options Table for image/* crop:
最后把通过Uri获得bitmap的方法给大家贴上
?
这是调用相机
在这里我返回了一个file对象,这是应为项目中需要,大家可以不必真写,直接传一个Uri对象过来就好了
下面是调用相册
?
?
?
下面是我们进行剪裁用到的一些参数
Exta Options Table for image/* crop:
SetExtra | DataType | Description |
crop | String | Signals the crop feature |
aspectX | int | Aspect Ratio |
aspectY | int | Aspect Ratio |
outputX | int | width of output created from this Intent |
outputY | int | width of output created from this Intent |
scale | boolean | should it scale |
return-data | boolean | Return the bitmap with Action=inline-data by using the data |
data | Parcelable | Bitmap to process, you may provide it a bitmap (not tested) |
circleCrop | String | if this string is not null, it will provide some circular cr |
MediaStore.EXTRA_OUTPUT ("output") | URI | Set this URi to a File:///, see example code |
?
?
?
下面是我们进行剪裁用到的一些参数
Exta Options Table for image/* crop:
SetExtra | DataType | Description |
crop | String | Signals the crop feature |
aspectX | int | Aspect Ratio |
aspectY | int | Aspect Ratio |
outputX | int | width of output created from this Intent |
outputY | int | width of output created from this Intent |
scale | boolean | should it scale |
return-data | boolean | Return the bitmap with Action=inline-data by using the data |
data | Parcelable | Bitmap to process, you may provide it a bitmap (not tested) |
circleCrop | String | if this string is not null, it will provide some circular cr |
MediaStore.EXTRA_OUTPUT ("output") | URI | Set this URi to a File:///, see example code |
?
相关文章推荐
- android照相、相册获取图片剪裁部分手机异常的解决方法
- android照相、相册获取图片剪裁报错的解决方法
- android照相、相册获取图片剪裁报错的解决方法
- android照相、相册获取图片剪裁报错的解决方案
- Android照相、相册获取图片剪裁报错的解决方案
- android照相、相册获取图片剪裁报错的解决方案
- 解决Android从相册中获取图片出错图片却无法裁剪问题的方法
- 解决Android从相册中获取图片出错图片却无法裁剪问题的方法
- Android 应用中,从相册或者照相机获取到图片后,怎么剪裁
- android获取项目下的一张图片的绝对路径问题以及解决方法
- android获取相册图片和路径的实现方法
- 解决Android从相册中获取图片却无法裁剪的问题
- android两种使用照相功能获取图片的方法
- android两种使用照相功能获取图片的方法
- android 照相或从相册获取图片并裁剪
- android两种使用照相功能获取图片的方法
- Android拍照或相册获取照片上传 (带图片剪裁)
- Android 异步获取网络图片并处理导致内存溢出问题解决方法
- android 获取相册图片和使用相机照照片 并使用Android自带图片剪裁界面剪裁
- Android部分手机拍照后获取的图片被旋转问题的解决方法