如何在从UIImagePicker摄像机拍摄后裁剪图像?

问题描述:

我试图让用户可以将16x9长宽比图像看起来像是很好的高清照片。我使用cameraViewOverlay覆盖两端的黑条,但拍摄图像时,如何裁剪顶部和底部而不调整大小或更改图像的比例?如何在从UIImagePicker摄像机拍摄后裁剪图像?

谢谢。

关于如何缩放/裁剪从相机取回的UIImage,有各种各样的帖子,如this one

这比你想象的要复杂一些,因为相机图像是旋转的,所以即使你只是裁剪,你也必须考虑旋转。

+4

我不会把这个作为正确的答案。由于这个问题只关于裁剪。您在这个答案中指出的解决方案是您自己的解决方案,也是特定于缩放和裁剪。我还没有找到一个解决方案,只是裁剪从相机拍摄的图像。 – 2011-07-13 23:02:31

+0

@RigoVides你可以请张贴解决方案吗? – Dejell 2013-01-21 07:02:05

您可以在拍摄图像时将“picker.imageEditing = YES”添加到您的代码中。 然后,您必须在界面构建器中设置imageView属性: 图像视图属性 - >视图 - >模式 - >宽高比拟合或其他选项如您所愿

+1

我认为你的意思是“picker.allowsEditing = YES” – TomSwift 2012-04-02 21:06:12

+0

你在说什么图片?从uiimagepicker控制器中选择一个? – Dejell 2013-01-21 07:01:46

请检查Ming Yang的解决方案。 https://github.com/myang-git/iOS-Image-Crop-View

它允许用户通过滑动或拖动图像所需部分周围的矩形边缘来裁剪图像。我认为这个代码可以修改,以适应您的裁剪需要是自动还是手动。

它在Objective-C中编码。您可能需要在Swift中编写它,或者只需构建一个桥接头来将Objective-C代码与Swift代码连接起来。