我正在制作一个图像编辑器,可以创建不同的形状对象,如圆形,三角形和方形,也可以更新或删除.所以我使用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];