gpt4 book ai didi

swift - 如何快速绘制一个复杂的圆?

转载 作者:行者123 更新时间:2023-11-30 10:04:01 26 4
gpt4 key购买 nike

我已经了解了如何使用drawRect和NSBezierPath绘制简单的形状,但我需要绘制一个复杂的圆形。所以,我有属性字符串,并且字符串的某些范围具有不同的颜色。我需要制作一个具有字符串长度的圆圈,并且字符串的不同范围应标记为箭头,请参见下面的示例。为了使圆的所有部分与字符串成比例,我可以使用字符串的长度和范围。但是,如何绘制圆的不同部分呢?通过为每个段使用多个子路径或?

更新该图形应该代表变化的属性字符串,即用户可以更改区域的颜色、标记区域的长度、字符串的长度,可以添加新的标记区域或删除标记区域,并且通过单击按钮应该得到属性的图形表示字符串。我正在考虑使用范围数组作为属性字符串,并且在 for 循环中,应该使用这些范围一一绘制带或不带箭头的弧线以填充整个环。我可以使用一一绘制圆弧来获得具有不同颜色和厚度部分的整个圆。现在的问题是如何向弧添加箭头?这可能吗?

enter image description here

最佳答案

首先,画出整个圆,一条简单的路径。然后,为第一个箭头绘制一条稍微复杂的路径并用红色填充。然后绘制第二个箭头的路径并填充黑色。这应该非常简单,唯一的技巧是正确地进行数学计算(即三角函数)来计算路径的控制点。如果您经常进行此类操作,请考虑购买 PaintCode,这是一款可以根据您的绘图生成代码的 Macintosh 应用程序。

这是一个教程(其中恰好包含一些弯曲箭头的代码):

https://www.raywenderlich.com/38918/paintcode-tutorial-bezier-paths

关于swift - 如何快速绘制一个复杂的圆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37098609/

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