【发布时间】:2013-11-11 01:03:57
【问题描述】:
我正在以圆形方式裁剪图像并在创建意图时使用以下代码
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)。
【问题讨论】:
-
你删除了那两个参数(outputx,outputy)然后尝试了吗???
-
是的,试过了。但是对于某些宽度和高度值,它可以正常工作,但对于某些值,它会崩溃。意味着当我放大更多 [有问题的图像 2](宽度和高度大约 280)它工作正常但是当放大较小 [有问题的图像 1](宽度和高度大约 > 300)时,应用程序只是关闭而没有任何错误或警告。
-
是的,因为它不能处理如此大量的数据。您是否收到 OutOfMemory 错误。剪完之后,你在做什么???将其设置为图像视图???
-
是的。裁剪后,我将其设置为图像视图。 logCat 中没有显示此类错误。它只是默默地关闭。
-
任何建议如何避免这种情况。我的意思是处理大数据。顺便说一句,这不是那个问题。无论您放大或缩小多少。它以宽度和高度各 200 的方式和平地显示在 imageview 上。