繁体   English   中英

捏和平移以裁剪UIImage

[英]Pinch and Pan to Crop UIImage

我想添加一个Pinch和Pan手势,可以在ViewController上裁剪UIImage视图。 要裁剪图像,只需捏/平移适当的图像,它将调整大小。

我目前拥有“拍摄照片”和“选择图像”按钮,可以将相应的图像相应地捕获到UIImageView框中,但是我希望能够捏合和平移大小并在视图中裁剪图像。

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

PS。 我正在使用情节提要

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

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

过去,我通常的策略是将UIImageView放置在另一个UIView中(以便对其进行裁剪),并向父UIView添加UIPinchGestureRecognizerUIPanGestureRecognizer 当您收到其中任何一个的事件时,将适当的转换应用于UIImageView的transform属性。

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

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

重置比例的最后一步很重要,因为您每次都只是在缩放现有转换,而不是在进行基本标识转换。 您应该发现可以使用UIPanGestureRecognizer及其translationInView:方法来处理转换的转换(请记住,您还必须使用setTranslationInView:CGPointZero将其重置。

最后,为了获得裁剪/剪切的UIImage ,您可以捕获视图的内容(我相信只有在iOS 7+上才可以使用transform属性),也可以将UIImage渲染为CGContextRef ,然后使用相同的变换来变换CGContextRef

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

裁剪图片

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM