调用系统的图片裁剪无法返回
来源:互联网 发布:知及之仁不能守之 编辑:程序博客网 时间:2024/05/20 08:44
这个问题是这样的,android官方的文档显示,通过intent传递的文件最大不能超过1MB,所以这种方式切割图片通常不能超过400x400,我在我的图片软件里面采用的解决办法是,把切割的图片存储到临时文件,然后在返回的activity里面读取文件来处理,可以得到你想得到的任何尺寸!
代码片段,双击复制
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
* 切割文件到临时文件
*/
public
void
startPhotoZoom(Uri uri) {
Utils.doLog(
"----->>>> startPhotoZoom2"
);
Intent intent =
new
Intent(
"com.android.camera.action.CROP"
);
intent.setDataAndType(uri, IMAGE_UNSPECIFIED);
intent.putExtra(
"crop"
,
"true"
);
intent.putExtra(
"outputX"
,
600
);
intent.putExtra(
"onFaceDetection"
,
true
);
intent.putExtra(
"return-data"
,
false
);
intent.putExtra(MediaStore.EXTRA_OUTPUT, getTempUri());
intent.putExtra(
"outputFormat"
, Bitmap.CompressFormat.JPEG.toString());
startActivityForResult(intent, PHOTORESOULT);
}
protected
Uri getTempUri() {
return
Uri.fromFile(getTempFile());
}
protected
File getTempFile() {
if
(isSDCARDMounted()) {
File f =
new
File(Environment.getExternalStorageDirectory(),camera_crop_temp_file);
try
{
f.createNewFile();
}
catch
(IOException e) {
Toast.makeText(
this
,
"SD临时文件读取错误!"
, Toast.LENGTH_LONG).show();
}
return
f;
}
else
{
File f =
new
File(getCacheDir(), camera_crop_temp_file);
try
{
f.createNewFile();
}
catch
(IOException e) {
Toast.makeText(
this
,
"缓存目录临时文件读取错误!"
, Toast.LENGTH_LONG).show();
}
return
f;
}
}
- 调用系统的图片裁剪无法返回
- 调用系统的裁剪功能裁剪图片
- Android 调用系统图片裁剪(解决“无法加载。”问题)
- 图片裁剪 调用系统裁剪intent
- 调用Android相机裁剪图片太大不能返回的问题解决
- android调用系统拍照程序和从图库选取图片,返回后调用系统裁剪工具
- android调用系统拍照程序和从图库选取图片,返回后调用系统裁剪工具
- android调用系统拍照程序和从图库选取图片,返回后调用系统裁剪工具
- 调用系统图片裁剪器
- Android调用系统的裁剪后,无法响应onActivityResult()
- Android——最简单的图片裁剪 调用系统原生裁剪图片(+保存不成功)
- Android 调用系统的照相,浏览图片,转存并裁剪!
- Android裁剪图片最简单方法(调用系统的)
- Android 调用系统的照相,浏览图片,转存并裁剪!
- Android [应用代码] 简单调用系统的图片裁剪功能
- Android实现图片的裁剪(不调用系统功能)
- Android裁剪图片最简单方法(调用系统的)
- Android调用系统的相机,图库,以及裁剪图片功能。
- 解决Vista或windows7上通过远程桌面控制服务器速度比较慢
- 如果Imageview与Linearlayout有叠加且可选资源长度不同,如何布局?
- ASP.NET操作EXCEL的总结篇(转自http://www.jb51.net/article/26273.htm)
- Java学习笔记:Java基础知识
- iOS多线程编程指南(三)Run Loop
- 调用系统的图片裁剪无法返回
- 重载操作符
- 用Cmake编译调用Qxt,Qwt和Qserialport
- 如何使用Log4j?
- mt.exe : general error c101008d 解决方法
- cvCopy与cvCloneImage的区别
- selenium webdriver 不识别showModalDialog()的处理方案
- poj 3648 Wedding
- iphone5适配