iOS开发CGContextRef画图怎么使用
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇"iOS开发CGContextRef画图怎么使用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一
千家信息网最后更新 2026年11月01日iOS开发CGContextRef画图怎么使用
这篇"iOS开发CGContextRef画图怎么使用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"iOS开发CGContextRef画图怎么使用"文章吧。
1.创建画布
CGContextRef ctx = UIGraphicsGetCurrentContext();
2.设置属性
//旋转,注意:设置操作必须要在添加图形之前,如果设置在添加图形之后的话,此时它已经画完了,无效//旋转的时候,是整个layer都旋转了//旋转45度CGContextRotateCTM(ctx, M_PI_4);//缩放:x方向缩放0.5倍,y方向缩放1.5倍CGContextScaleCTM(ctx, 0.5, 1.5);//平移:x方向移动50,y方向移动100CGContextTranslateCTM(ctx, 50, 100);CGContextSetLineJoin(ctx, kCGLineJoinRound);//线条宽度CGContextSetLineWidth(ctx, 1.0);//起点和终点圆角CGContextSetLineCap(ctx, kCGLineCapRound);//转角圆角CGContextSetLineJoin(ctx, kCGLineJoinRound);//透明度CGContextSetAlpha(ctx, 0.5)
3.画直线
//起点CGContextMoveToPoint(ctx, 10.0, 100.0);//终点CGContextAddLineToPoint(ctx, self.frame.size.width-20.0, 100.0);//颜色 两种设置颜色的方式都可以//CGContextSetRGBStrokeColor(ctx, 0, 1.0, 0, 1.0);[[UIColor redColor] set];//渲染,直线只能绘制空心的,不能调用CGContextFillPath(ctx)// 或者使用这个方法:CGContextDrawPath(ctx, kCGPathStroke);CGContextStrokePath(ctx);
或者使用下面方法画直线
CGPoint point[2];//坐标点 point[0] = CGPointMake(10.0, 100.0);//起点 point[1] = CGPointMake(self.frame.size.width-20.0, 100.0);//终点 //points[]坐标数组,和count大小 CGContextAddLines(context, aPoints, 2);//添加线 CGContextDrawPath(context, kCGPathStroke);
4.画虚线
//设置虚线颜色CGContextSetStrokeColorWithColor(ctx, [UIColor redColor].CGColor);//设置虚线绘制起点CGContextMoveToPoint(ctx, 10.0, 50.0);//设置虚线绘制终点CGContextAddLineToPoint(ctx, self.frame.size.width-20.0, 50.0);//设置虚线排列的宽度间隔:下面的arr中的数字表示先绘制3个点再绘制1个点CGFloat arr[] = {3, 2};//下面最后一个参数"2"代表排列的个数。CGContextSetLineDash(ctx, 0, arr, 2);CGContextDrawPath(ctx, kCGPathStroke);5.画三角形
//起点CGContextMoveToPoint(ctx, self.center.x, 200.0);//拐点1CGContextAddLineToPoint(ctx, self.center.x-50.0, 250.0);//终点CGContextAddLineToPoint(ctx, self.center.x+50.0, 250.0);//颜色 两种设置颜色的方式都可以//CGContextSetRGBStrokeColor(ctx, 0, 1.0, 0, 1.0);[[UIColor redColor] set];//合并三角形CGContextClosePath(ctx);CGContextFillPath(ctx);
6.画矩形
CGRect rectangle = CGRectMake(10.0, 300.0, self.frame.size.width-20.0, 60.0);CGContextAddRect(ctx, rectangle);CGContextSetFillColorWithColor(ctx, [UIColor redColor].CGColor);CGContextFillPath(ctx);
7.画圆
/**c 当前图形x 圆心坐标xy 圆心坐标yradius 半径startAngle 弧的起点与正X轴的夹角endAngle 弧的终点与正X轴的夹角clockwise 指定0创建一个顺时针的圆弧,或是指定1创建一个逆时针圆弧*/CGContextAddArc(ctx, self.center.x, 100.0, 75.0, 0.0, M_PI+0.5, 0);CGContextSetFillColorWithColor(ctx, [UIColor redColor].CGColor);CGContextFillPath(ctx);
8.画椭圆
CGContextAddEllipseInRect(ctx, CGRectMake(x, y, 100.0, 60.0));CGContextSetFillColorWithColor(ctx, [UIColor redColor].CGColor);CGContextFillPath(ctx);
9.画扇形
CGContextMoveToPoint(ctx, x, y);CGContextAddArc(ctx, x, y, 75.0, 0.0, M_PI+0.5, 0);CGContextSetFillColorWithColor(ctx, [UIColor redColor].CGColor);CGContextSetStrokeColorWithColor(ctx, [UIColor blueColor].CGColor);CGContextDrawPath(ctx, kCGPathFillStroke);
10.画二次贝塞尔曲线
CGContextMoveToPoint(context, 120, 300);//设置Path的起点 CGContextAddQuadCurveToPoint(context,190, 310, 120, 390);//设置贝塞尔曲线的控制点坐标和终点坐标 CGContextStrokePath(context);
11.画三次贝塞尔曲线
CGContextMoveToPoint(context, 200, 300);//设置Path的起点 CGContextAddCurveToPoint(context,250, 280, 250, 400, 280, 300);//设置贝塞尔曲线的控制点坐标和控制点坐标终点坐标 CGContextStrokePath(context);
12.画文字
// 设置文字的属性NSMutableDictionary *dict = [NSMutableDictionary dictionary];dict[NSForegroundColorAttributeName] = [UIColor whiteColor];dict[NSFontAttributeName] = [UIFont systemFontOfSize:14];[@"I Love iOS" drawInRect:rect withAttributes:dict];
13.画图片
UIImage *image = [UIImage imageNamed:@"apple.jpg"]; [image drawInRect:CGRectMake(60, 340, 20, 20)];//在坐标中画出图片 //[image drawAtPoint:CGPointMake(100, 340)];//保持图片大小在point点开始画图片,可以把注释去掉看看 CGContextDrawImage(context, CGRectMake(100, 340, 20, 20), image.CGImage);//使用这个使图片上下颠倒了 //CGContextDrawTiledImage(context, CGRectMake(0, 0, 20, 20), image.CGImage);//平铺图
以上就是关于"iOS开发CGContextRef画图怎么使用"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
坐标
终点
起点
内容
图片
虚线
颜色
方向
曲线
贝塞
贝塞尔
开发
图形
控制点
直线
控制
三角形
圆弧
圆心
圆角
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
华服互联网科技靠谱吗
互联网科技财经
喔噻互联网科技
北京互联网络科技有限公司
致聘互联网科技
广西互联网科技公司
深圳艾佳互联网科技
盛创互联网科技有限公司
哈尔滨新华互联网科技
上海电发互联网科技有限公司
成都玖崟互联网科技有限公司乐商圈怎么样
互联网汽车科技小镇
恒银科技与互联网金融
科技赋能视角下互联网保险发展
山东有哪些互联网科技公司
美国互联网科技公司
互联网硬科技公司
深圳互联网科技园地址
互联网科技创新创业项目
数字科技和互联网金融哪个好
互联网佳科技有限公司
互联网科技战争
互联网科技视频素材
银川新华互联网科技学校地址
互联网科技有哪些公司
国大互联网教育科技有限公司薪资
江苏互联网智能科技软件
互联网科技数字货币
广东猫王互联网科技有限公司电话
互联网的黑科技实验室