通过imageview中的绘图圆圈裁剪图像

时间:2011-07-06 10:40:45

标签: iphone image crop

我想使用touchMoved事件通过绘图圆圈裁剪图像。 那么如何才能在CGRect中找到圆点。

我必须将cgrect传递给裁剪功能。

请帮助我在图像上绘制圆圈并找到CGRect

由于

1 个答案:

答案 0 :(得分:1)

我不确定我完全理解你的问题。我会做一些假设:

我假设您要显示图像的圆形区域,图像被裁剪为仅在该圆圈内显示其内容;和

我假设当用户移动他/她的手指时,你将移动这个圆圈。

我将假设非裁剪区域是纯色。

对于这种情况,我建议创建一个透明圆圈的透明png图像文件,以及其他地方的纯色背景颜色。你可以将它放在一个可拖放的UIView子类中,当用户移动他/她的手指时,就会看起来好像是在用他们的手指移动的圆圈中裁剪图像。

以下是如何通过拖放操作使UIView子类工作:

http://bynomial.com/blog/?p=77

如果您需要更复杂的行为,例如非纯色背景,那么您可以考虑在视图的CALayer属性中使用图像蒙版。这样做会更有效,因为每次用户移动手指时都必须修改蒙版。另一种选择是将CALayer设置为具有圆角(cornerRadius属性),设置clipsToBounds = YES,然后在用户移动手指时适当地移动它。

参考一些CALayer属性,以了解cornerRadius方法(将cornerRadius设置为视图宽度的一半,它将是一个圆圈):

http://bynomial.com/blog/?p=52