作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
如题,我想裁剪一张尺寸为500*500的图片,它适用于大多数设备(如 htc、sonyerrison、motors..),但三星(Sii/Ace...)。
实际上,三星设备可以在 360*360 上工作,但是当我调整到 500*500 时。
行为很奇怪,当我把
intent.putExtra("outputX", 500);
intent.putExtra("outputY", 360);
startActivityForResult(intent,PHOTORESOULT),
它紧张地回到了 onActivityResult()
这是裁剪代码,我确定那个uri里有图片
public void startPhotoZoom(Uri uri) {
Bitmap bitmap =null;
try {
bitmap = MediaStore.Images.Media.getBitmap(
this.getContentResolver(), uri);
Log.v("cropImage","Heigh="+bitmap.getHeight()+" Width="+bitmap.getWidth());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int width=bitmap.getWidth();
int height=bitmap.getHeight();
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, IMAGE_UNSPECIFIED);
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
if(width < 500 || height < 500){
if(width <= height){
intent.putExtra("outputX", width);
intent.putExtra("outputY", width);
Log.v("cropImage","outputX="+width+" outputY="+width);
}else{
intent.putExtra("outputX", height);
intent.putExtra("outputY", height);
Log.v("cropImage","outputX="+height+" outputY="+height);
}
}else{
intent.putExtra("outputX", 360);
intent.putExtra("outputY", 360);
}
intent.putExtra("noFaceDetection", true);
intent.putExtra("scale", true);
intent.putExtra("return-data", true);
startActivityForResult(intent, PHOTORESOULT);
}
我纠结了一段时间~请帮忙~
最佳答案
我想,裁剪后的图像太大了。可以肯定的是,您应该阅读 logcat。
我遇到了同样的问题,太大的图像不会传递给 onActivityResult 并且必须将裁剪后的图像保存到磁盘然后单独加载它。
简单省略
intent.putExtra("return-data", true);
并设置
Uri destination;
// some code to retriev an valid Uri
intent.putExtra(MediaStore.EXTRA_OUTPUT, destination);
相反。确保 Uri 目标指向一个文件。
关于Android 我想裁剪尺寸为 500*500 的图像,它适用于除三星以外的所有设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8518389/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!