【问题标题】:crop image via drawing circle in imageview通过在 imageview 中绘制圆圈裁剪图像
【发布时间】:2011-07-06 10:40:45
【问题描述】:

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

我必须将该 cgrect 传递给裁剪函数。

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

谢谢

【问题讨论】:

    标签: iphone image crop


    【解决方案1】:

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

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

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

    我假设未裁剪的区域是纯色。

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

    以下是使用拖放操作使 UIView 子类工作的方法:

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

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

    参考一些CALayer属性,了解cornerRadius的做法(设置cornerRadius=视图宽度的一半,会是一个圆):

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

    【讨论】:

    • 在这里我只想定义一个圆,我必须从该圆创建一个 CGRect,我有一个函数将参数作为 CGRect,所以我只需将该矩形传递给函数。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    • 2015-09-22
    • 2018-04-01
    • 2014-11-26
    相关资源
    最近更新 更多