0

我想添加一个捏和平移手势来裁剪我的 ViewController 上的 UIImage 视图。要裁剪图像,只需捏合/平移适当的图像,它就会调整大小。

我目前有“拍照”和“选择图像”按钮,相应地将适当的图像抓取到 UIImageView 框中,但我希望能够在视图中捏合和平移以调整和裁剪图像的大小。

我希望盒子保持在其当前大小,并且其中的图像将是调整大小和裁剪的图像。

PS。我正在使用故事板

这是我所拥有的屏幕截图。 http://i.stack.imgur.com/chkk5.png

我在想正确的方向是为情节提要中的每个 uiimageviews 添加滑动和平移手势,但不确定之后要做什么。

4

2 回答 2

0

我过去对此的一般策略是将 UIImageView 放在另一个 UIView 中(以便剪辑它)并将 aUIPinchGestureRecognizer和 a添加UIPanGestureRecognizer到父 UIView。当您收到其中任何一个的事件时,您将适当的转换应用于transformUIImageView 的属性。

例如,在缩放时,您将执行以下操作:

-(void)scale:(UIPinchGestureRecognizer*)pinch
{
 float scale = pinch.scale;
 imageView.transform = CGAffineTransformScale(imageView.transform, scale, scale);
 pinch.scale = 1;
}

重置比例的最后一步很重要,因为您每次只是缩放现有变换而不是基本恒等变换。UIPanGestureRecognizer您应该会发现您将能够使用 a及其方法来处理转换translationInView:(请记住,您还必须使用setTranslationInView:CGPointZero.

最后,为了获得裁剪/剪裁UIImage,您可以捕获视图的内容(我相信 transform 属性仅在 iOS 7+ 上受到尊重)或者将 UIImage 渲染为 a CGContextRef,并使用相同的变换来转换CGContextRef.

于 2013-09-23T06:26:08.043 回答
0

您可以使用以下链接...

裁剪图像

于 2013-09-23T06:54:32.997 回答