gpt4 book ai didi

iphone - 如何从顶部开始画一个圆

转载 作者:行者123 更新时间:2023-12-03 18:37:55 25 4
gpt4 key购买 nike

我正在使用一些使用 CGPaths 绘制圆弧的示例代码。我环顾四周并找到了文档,但我似乎无法在脑海中想象使用 MoveToPoint、AddLineToPoint 等方面发生的情况。我无法“看到”代码在做什么,我只能查看结果。

例如,下面的代码从 3 点钟位置开始绘制一个完整 360 度的圆弧。我怎么也想不出如何让它从 12 点钟位置开始,同时将 View 实际旋转 90 度。

有人可以帮我弄清楚这段代码以及如何更改它以实现从 12 点开始,最好尝试解释整个路径的工作原理。或者也许可以向我指出在线视觉资源?

- (void)drawPathWithArc:(CGFloat)arc {
CGMutablePathRef thePath = CGPathCreateMutable();
CGPathMoveToPoint(thePath, NULL, 100.f, 100.f);
CGPathAddLineToPoint(thePath, NULL, 200.f, 100.f);
CGPathAddArc(thePath, NULL, 100.f, 100.f, 100.f, 0.f, (360* M_PI)/180, NO);
CGPathCloseSubpath(thePath);
shapeLayer_.path = thePath;
CGPathRelease(thePath);
}

最佳答案

路径实际上并不难在视觉上理解。基本上,所有路径都是连接定义 iPhone 屏幕的笛卡尔平面上两点的线。

当您 moveToPoint 时,它将路径的当前点设置为指定点。

当您addLineToPoint 时,它会从当前点到指定点绘制一条直线。

当您addCurveToPoint时,它会根据某些切线和控制点从当前点到指定点绘制一条曲线。

等等。我建议阅读苹果关于 CGPaths 的文档,以便更好地理解每个函数的作用。

http://developer.apple.com/library/mac/#documentation/graphicsimaging/Reference/CGPath/Reference/reference.html

<小时/>

至于您的问题是从 12 而不是 3 开始,只需阅读 CGPathAddArc 函数的文档即可。

您需要做的是更改当前的代码:

CGPathAddArc(thePath, NULL, 100.f, 100.f, 100.f, 0.f, (360* M_PI)/180, NO);

至:

CGPathAddArc(thePath, NULL, 100.f, 100.f, 100.f, -M_PI_2, M_PI_2*3, NO);

所做的就是将起始角度更改为 -90 度(所有角度均以距水平面的弧度为单位进行测量),将结束角度更改为 270 度。

<小时/>

希望这有帮助。干杯,

布伦顿。

关于iphone - 如何从顶部开始画一个圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5183785/

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