CGContextAddArc

这个函数让我在纸上画了半天才搞明白,把我的理解给大家分享下。

void CGContextAddArc(CGContextRef c, CGFloat x, CGFloat y, CGFloat radius,
CGFloat startAngle, CGFloat endAngle, int clockwise)

CGContextRef不解释了,x,y为圆点坐标,startAngle为开始的弧度,endAngle为 结束的弧度,clockwise
0为顺时针,1为逆时针。

CGContextAddArc(context, 160, 200, 100, 0, 45*(M_PI/180), 0);

所以对上面这对代码的解释是这样的:

1)startAngle为0,绿色箭头的地方。

2)endAngle为45,黄色箭头的地方。

3)clockwise为0,按照红色箭头往下绘制图形。

4)所以效果就是红色的扇形。

补充:如果clockwise为1,则是蓝色部分区域。

不知道这样说明是否清楚,如果还是不清楚私信我吧。

时间: 2024-10-08 10:09:21

CGContextAddArc的相关文章

CGContextAddArcToPoint和CGContextAddArc

比较难的是CGContextAddArcToPoint 代码如下: [plain] view plaincopy CGContextRef context=UIGraphicsGetCurrentContext(); CGContextSetRGBStrokeColor(context,1,0,0,1); CGContextMoveToPoint(context,150,50); CGContextAddLineToPoint(context,100,80); CGContextAddLineT

UIKit框架(17)Quartz2D

Quartz2D介绍 什么是Quartz2D ? 是一个二维绘图引擎,同时支持iOS和Mac系统. Quartz2D的价值? 但是有些UI界面极其复杂,而且比较个性化,用普通的UI控件无法实现,这时可以利用Quartz2D技术将控件内部的结构画出来,自定义控件的样子. 其实,iOS中大部分控件的内容都是由Quartz2D画出来的 (有一些是通过WebKit渲染的) 开发方式? 使用框架CoreGraphics Quartz2D是一套C语言API,但使用了面向对象的开发方式 图像上下文对象: 是最

Quartz 2D

1.什么是Quart 2D呢? 不知道,但是可以通过Quart2D绘制图形,自定义控件等等. 2.如何通过Quart 2D绘制图形和自定义控件? 有两种方式:C语言/OC;OC其实最后还是转换成C,那么用C会不会效率稍高? 3.基本图形的绘制 C语言方式 获取当前图形上下文 : CGContextRef ctx = UIGraphicsGetCurrentContext(); 绘制图形: 圆:CGContextRef _Nullable c:图形上下文; CGFloat x, CGFloat y

[iOS UI进阶 - 1] 自定义控件

A.关于Quiartz2D的一些细节 1.UIKit的工具已经封装了上下文引用,所以不用手动获取和渲染 1 - (void)drawRect:(CGRect)rect { 2 [[UIColor redColor] set]; 3 UIRectFill(CGRectMake(0, 0, 100, 100)); 4 } 2.多个path 1 - (void)drawRect:(CGRect)rect { 2 CGContextRef ctx = UIGraphicsGetCurrentContex

IOS总结(学习过程中整理的笔记)

MVC模式:(model+view+controller):是一种帮你把代码功能和显示划分出来的设计模式: model:较为底层的数据引擎,负责管理实体中所继承的数据: view:和用户交互界面: controller:连接二者的桥梁: cocoa frameworks 有两个框架: foundation foundation  是cocoa中最基本的一些类:再mac应用程序中负责对象管理,内存管理,容器等相关数据: uikit: uikit:为程序提供可视化的底层构架,包括窗口,视图,控件类和

CGContextRef使用简要教程

Graphics Context是图形上下文,也能够理解为一块画布,我们能够在上面进行绘画操作,绘制完毕后,将画布放到我们的view中显示就可以,view看作是一个画框. CGContextRef功能强大.我们借助它能够画各种图形. 开发过程中灵活运用这些技巧,能够帮助我们提供代码水平. 说到绘图.我就立刻想到:我的数学公式都快忘完了. 高中数学你还记得多少? 我记得我上学的时候.数学一直都非常好. 以至于在班里都不敢和别人吵吵闹闹.一吵吵闹闹.别人就会来一句:以为你数学好.就能够怎么样怎么样了

IOS 监听slider滑动

// 监听slider滑动 - (IBAction)valueChnage:(UISlider *)sender; @property (weak, nonatomic) IBOutlet NJView *circleView; @end @implementation NJViewController - (IBAction)valueChnage:(UISlider *)sender { // NSLog(@"%.1f", sender.value); // 1.传递改变后的值给自

自己画一个ActivityIndicatorView-b

苹果的UI控件中有一个UIActivityIndicatorView,俗称菊花.→_→现在我们仿照它来制作一个其它样式的指示器,如下: ActivityView.png 自定义指示器 首先画一个白色的扇形.创建一个MyLayer类继承自CALayer,重写它的绘图方法- (void)drawInContext:(CGContextRef)ctx: - (void)drawInContext:(CGContextRef)ctx {        CGContextSetRGBFillColor(c

Quartz 2D 的一些使用

Quartz 2D是一个绘图框架,最近看了一下它的官方文档以及提供的的demo.看着这些资料自己做了一些小结. 1.线段的绘制 (绘制一条线段) //获取图像上下文 CGContextRef context = UIGraphicsGetCurrentContext(); //设置线条颜色 CGContextSetRGBStrokeColor(context, .5, .5, .5, 1); //设置线条宽度 CGContextSetLineWidth(context, 1); //设置起点 C