裁剪图像时应用程序挂起

Posted

技术标签:

【中文标题】裁剪图像时应用程序挂起【英文标题】:Application hangs when cropping image 【发布时间】:2013-08-12 14:09:44 【问题描述】:

我有以下裁剪方法。当我致电cropIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri); 时,我的屏幕挂在“保存图像”处。如果我不调用它,则裁剪后的图像不会写入文件。

private void crop() 
try 
    Intent cropIntent = new Intent("com.android.camera.action.CROP");

    cropIntent.setDataAndType(mImageCaptureUri, "image/*");

    cropIntent.putExtra("crop", "true");
     cropIntent.putExtra("aspectX", 4);
    cropIntent.putExtra("aspectY", 3);
     cropIntent.putExtra("outputX", 500);
    cropIntent.putExtra("outputY", 300);
    File f = new File(Environment.getExternalStorageDirectory(),
            "/temporary_holder.jpg");
    try 
        f.createNewFile();
     catch (IOException ex) 
        Log.e("io", ex.getMessage());
    
    uri = Uri.fromFile(f);
    cropIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);

    startActivityForResult(cropIntent, PIC_CROP);

 // respond to users whose devices do not support the crop action
catch (ActivityNotFoundException anfe) 
    // display an error message
    String errorMessage = "Your device doesn't support the crop action!";
    Toast toast = Toast
            .makeText(this, errorMessage, Toast.LENGTH_SHORT);
    toast.show();



【问题讨论】:

***.com/questions/3846338/…的可能重复 编辑你的问题标题老兄......也检查一下***.com/questions/3725501/… 也贴出你的logcat,崩溃的原因是什么? 永远不会崩溃.. 只是停留在保存图像 【参考方案1】:

我有同样的问题,它卡在: cropIntent.putExtra("outputX", 500); .. 太糟糕了,修复这个问题的唯一方法就是取出电池..

但是如果我接受 cropIntent.putExtra("outputX", 200);它工作正常..

(设备 HTC Sensation Z710e Android 4.0.3 (API 15))

【讨论】:

以上是关于裁剪图像时应用程序挂起的主要内容,如果未能解决你的问题,请参考以下文章

下载图像时防止应用程序挂起?

当我改变相机的方向进行裁剪图像时,为啥我会丢失数据?

裁剪图像时的角度性能问题

如何缩放 + 裁剪图像并在 imageview 上显示裁剪的图像

使用 AV Foundation 时正确裁剪捕获的图像

在不影响纵横比的情况下裁剪图像