1

我正在以圆形方式裁剪图像并在创建意图时使用以下代码

    intent.setData(mImageCaptureUri);
    intent.putExtra("outputX", 200);
    intent.putExtra("outputY", 200);
    intent.putExtra("aspectX", 1);
    intent.putExtra("aspectY", 1);

由于我使用的是 outputX = 200,因此无论我放大或缩小多少,我都会将每个裁剪图像的宽度和高度设为 200 和 200 。

下面显示的两个图像具有不同的缩放比例,但仍返回相同的高度和宽度。

 width  = bitmap.getWidth(); 

在此处输入图像描述

在此处输入图像描述

有人可以告诉我应该在行中使用什么参数

intent.putExtra("outputX", 200);

这样我就得到了裁剪图像的真实宽度和高度(不是每种情况下的 200)。

4

1 回答 1

0

当我回答您之前的问题时,不知道这是问题所在。我相信您正在寻找的答案应该是:

intent.setData(mImageCaptureUri);
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("scale", false);

确保将参数比例设置为 false。它默认为真。

PS 由于 Android 是开源的,并且相机 + 裁剪应用程序是操作系统的一部分,所以我所做的就是阅读源代码。您应该查看的文件在这里。查看变量 mScale 以了解如何使用该参数。

于 2013-10-31T15:04:37.843 回答