如何在安卓中从图片中裁剪一个矩形

5
我正在使用这个示例来裁剪从图库中选择的图像,但问题在于该示例仅裁剪正方形。是否有可能裁剪矩形而不仅仅是正方形?在该示例中,如果我移动一侧,相邻的一侧也会移动,使其保持为正方形选择。
谢谢。
2个回答

12

我发现可以使用内置的Android裁剪处理程序(com.android.camera.action.CROP)来裁剪矩形。如果要裁剪矩形,则需要删除我之前传递的示例中的以下参数:

intent.putExtra("outputX", 200); //Set this to define the max size of the output bitmap
intent.putExtra("outputY", 200); //Set this to define the max size of the output bitmap
intent.putExtra("aspectX", 1); //Set this to define the X aspect ratio of the shape
intent.putExtra("aspectY", 1); //Set this to define the Y aspect ratio of the shape

设置aspectX和aspectY将会在您移动其中之一时强制Android同时移动形状的两侧。注释掉这些行,您就可以自由移动形状了。


3
使用内置的Android裁剪处理(com.android.camera.action.CROP)无法将裁剪形状设置为除正方形以外的任何形状。
您需要从头开始构建自己的裁剪活动。您可能想基于SDK中的实现(需要GIT)来实现自己的实现。
在像Stack Overflow这样的问答网站上,详细讨论这个复杂的任务超出了简单答案的范围。如果您有特定问题,请随时发布另一个问题。

好的,谢谢你的帮助。我会看一下那个实现。 - PauloBueno
如果将aspectX和aspectY都设置为零,实际上可以裁剪成不同的形状。 - lucianohgo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接