我正在制作一个图像编辑器,它可以创建不同形状的对象,例如圆形,三角形和正方形,也可以对其进行更新或删除。因此,我已使用CAShapeLayer
创建形状对象。
现在,我还想在图像上画一条线,该线也可以更新或删除,因此我使用了bezierpath和CAShapeLayer
创建该线,它工作正常。但是现在的问题是,当我想选择任何现有的线时,可以在靠近线工具的任何位置选择它,因为CAShapeLayer
还会设置填充区域,该区域将从起点到终点都是一条直线。
我的问题是如何使用CAShapeLayer
创建没有填充区域的行。
这是我创建行的代码:
CAShapeLayer *line = [CAShapeLayer layer];
// Using bezierpath to make line
UIBezierPath *linePath=[UIBezierPath bezierPath];
// Creating L with line
[linePath moveToPoint:point1];
[linePath addToPoint:point2];
[linePath addToPoint:point3];
line.path=linePath.CGPath;
// Configure the appearence of the line
line.fillColor = Nil;
line.opacity = 1.0;
line.strokeColor = [UIColor whiteColor].CGColor;
任何想法,将不胜感激。
最佳答案
你可以试试这个吗它对我的工作
CAShapeLayer *line = [CAShapeLayer layer];
UIBezierPath *linePath=[UIBezierPath bezierPath];
[linePath moveToPoint:CGPointMake(startx, starty)];
[linePath addLineToPoint:CGPointMake(endx, endy)];
line.lineWidth = 10.0;
line.path=linePath.CGPath;
line.fillColor = shapecolor.CGColor;
line.strokeColor = shapecolor.CGColor;
[[self.view layer] addSublayer:line];