gpt4 book ai didi

ios - 使用 CAShapeLayer 对象用 Bezierpath 画一条线

转载 作者:可可西里 更新时间:2023-11-01 03:13:24 26 4
gpt4 key购买 nike

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

关于ios - 使用 CAShapeLayer 对象用 Bezierpath 画一条线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19136400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com