com.android.camera.action.CROP调整裁剪矩形

时间:2012-08-30 08:16:56

标签: android image crop

我刚刚根据此示例http://www.londatiga.net/featured-articles/how-to-select-and-crop-image-on-android/在我的应用中实施了图片裁剪活动。

我想要实现的是将图像裁剪成正方形,其尺寸为原始图像的较小尺寸,例如:图像400 x 600导致裁剪图像400 x 400。 不幸的是,无论我设置为Intent("com.android.camera.action.CROP")的输入,确定裁剪图像尺寸的矩形都不会填充图像并保持不变。

        Intent intent = new Intent("com.android.camera.action.CROP");
        intent.setType("image/*");
        intent.setData(mImageCaptureUri);
        intent.putExtra("outputX", widthHeight);
        intent.putExtra("outputY", widthHeight);
        intent.putExtra("crop", "true");  
        intent.putExtra("aspectX", 1);  
        intent.putExtra("aspectY", 1);  
        intent.putExtra("noFaceDetection", true);  
        intent.putExtra("return-data", true);      

Example of the cropping rectangle that is NOT scaled to the maximum height

我这是因为我使用的是Android模拟器,或者我该如何更改?

第二个问题:任何人都可以告诉我是否可以以某种方式设置此Intent的样式?

非常感谢!!

3 个答案:

答案 0 :(得分:6)

方面值定义尺寸比例(x / y)。如果你想要免费尺寸,你应该删除

intent.putExtra("aspectX", 1);  
intent.putExtra("aspectY", 1);

值。或者如果你想要新的宽高比,你可以为它们分配新的整数。

答案 1 :(得分:1)

您只需要删除4行

<强>(1)

intent.putExtra("outputX", widthHeight);

intent.putExtra("outputY", widthHeight);

<强>(2)

intent.putExtra("aspectX", 1);  
intent.putExtra("aspectY", 1); 

它将裁剪矩形

答案 2 :(得分:0)

cropIntent.putExtra(“ aspectX”,0); cropIntent.putExtra(“ aspectY”,1);