1

根据此示例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);      

未缩放到最大高度的裁剪矩形示例

我这是由于我使用的 android 模拟器或者我该如何改变它?

第二个问题:谁能告诉我是否可以以某种方式设置这个 Intent 的样式?

非常感谢!!

4

3 回答 3

6

纵横比值定义尺寸比例(x/y)。如果你想要自由尺寸,你应该删除

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

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

于 2012-09-29T21:18:47.087 回答
1

您只需删除 4 行

(1)

intent.putExtra("outputX", widthHeight);

intent.putExtra("outputY", widthHeight);

(2)

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

它将裁剪矩形

于 2016-07-10T15:18:33.797 回答
0

cropIntent.putExtra("aspectX", 0); cropIntent.putExtra("aspectY", 1);

于 2019-01-31T15:59:16.973 回答