如何绘制不规则形状的矩形并用ios中的四个针点填充颜色

时间:2013-08-07 04:20:22

标签: iphone ios image-processing uiimageview uiimage

我目前正在开发像“kresta app”这样的应用程序。首先,我从照片库中选择了图像。接下来,我的工作是用户可以选择他想要应用盲区和阴影的区域。所以我想做的是我有四个引脚,用户可以触摸和拖动引脚进行区域选择。我用下面的代码实现了这个逻辑。

enter image description here JPG

在移动的触摸中我称这种方法

 UIBezierPath *aPath = [UIBezierPath bezierPath];

// Set the starting point of the shape.
   [aPath moveToPoint:pinImageView1.center];
// Draw the lines.
[aPath addLineToPoint:pinImageView2.center];
[aPath addLineToPoint:pinImageView3.center];
[aPath addLineToPoint:pinImageView4.center];
[aPath closePath];

CAShapeLayer *square = [CAShapeLayer layer];
square.path = aPath.CGPath;
[pickedImageView.layer addSublayer:square];

我的问题是它每次添加一个图层。如何实现这个逻辑?有什么方法可以删除上一层并更新新图层?或者我的方式错了,如果有错,请建议任何其他方式来实现这个逻辑。

1 个答案:

答案 0 :(得分:1)

如果在类属性中保存对此CAShapeLayer的引用,则可以一次又一次更新其path属性,它将自动更新视图图层上的子图层。因此,addSublayer一次,然后在将来,只要您希望反映屏幕上覆盖图像的形状变化,就可以更新此path的{​​{1}}。