我正在制作一个图像编辑器,可以创建不同的形状对象,如圆形,三角形和方形,也可以更新或删除.所以我使用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];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。