我想使用touchMoved事件通过绘图圆圈裁剪图像。 那么如何才能在CGRect中找到圆点。
我必须将cgrect传递给裁剪功能。
请帮助我在图像上绘制圆圈并找到CGRect
由于
答案 0 :(得分:1)
我不确定我完全理解你的问题。我会做一些假设:
我假设您要显示图像的圆形区域,图像被裁剪为仅在该圆圈内显示其内容;和
我假设当用户移动他/她的手指时,你将移动这个圆圈。
我将假设非裁剪区域是纯色。
对于这种情况,我建议创建一个透明圆圈的透明png图像文件,以及其他地方的纯色背景颜色。你可以将它放在一个可拖放的UIView子类中,当用户移动他/她的手指时,就会看起来好像是在用他们的手指移动的圆圈中裁剪图像。
以下是如何通过拖放操作使UIView子类工作:
http://bynomial.com/blog/?p=77
如果您需要更复杂的行为,例如非纯色背景,那么您可以考虑在视图的CALayer属性中使用图像蒙版。这样做会更有效,因为每次用户移动手指时都必须修改蒙版。另一种选择是将CALayer设置为具有圆角(cornerRadius属性),设置clipsToBounds = YES,然后在用户移动手指时适当地移动它。
参考一些CALayer属性,以了解cornerRadius方法(将cornerRadius设置为视图宽度的一半,它将是一个圆圈):