0

我有一个 CAShapeLayer,我想在该层上方绘制。我采用 UIImageView 并添加到该 CAShapelayer 上,现在我开始绘制,因为用户触摸在该 CAShapelayer 路径内移动。但是当用户触摸结束时,我想以这样的方式合并 CAShape 层上的绘制图像视图,如果用户再次点击,然后使用 hitTest 方法,我可以再次获得 cashape 层的路径。

// tempDrawingImage 是我在命中层上方添加的图像视图。

UIGraphicsBeginImageContext(tempDrawingImage.frame.size);
        [hitLayer drawInContext:UIGraphicsGetCurrentContext()];
        [tempDrawingImage.image drawInRect:tempDrawingImage.frame];
        hitLayer.contents = (id) UIGraphicsGetImageFromCurrentImageContext().CGImage;
        UIGraphicsEndImageContext();
4

1 回答 1

0

您无法轻松地将图像转换为 CAShapeLayer 的路径。

您需要有一个绘图路径,它将根据触摸事件进行修改。还需要第二个 CAShapeLayer 来绘制当前的drawingPath(因为在绘制时您将获得与合并后相同的结果,这不能保证使用图像方法)。合并时,您需要将 drawingPath 附加到 shapeLayer 的路径。

于 2014-06-02T11:18:40.153 回答