- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
iOS开发中使用Quartz2D绘制上下文栈和矩阵的方法
这篇文章主要介绍了iOS开发中使用Quartz2D绘制上下文栈和矩阵的方法,代码基于传统的Objective-C,需要的朋友可以参考下
上下文栈
一、qurza2d是怎么将绘图信息和绘图的属性绘制到图形上下文中去的?
说明:
新建一个项目,自定义一个view类和storyboard关联后,重写该类中的drowrect方法。
画线的三个步骤:
(1)获取上下文
(2)绘图
(3)渲染
要求:画两条单独的线
代码和效果图:
复制代码 代码如下:
- (void)drawRect:(CGRect)rect
{
//获取上下文
CGContextRef ctx=UIGraphicsGetCurrentContext();
//绘图
//第一条线
CGContextMoveToPoint(ctx, 20, 100);
CGContextAddLineToPoint(ctx, 100, 320);
//第二条线
CGContextMoveToPoint(ctx, 40, 200);
CGContextAddLineToPoint(ctx, 80, 100);
//渲染
CGContextStrokePath(ctx);
}
效果图:
设置线段的宽度:两头为圆形,颜色等。
代码和效果图(发现第二条线也被渲染成第一条线的样式和状态)
复制代码 代码如下:
- (void)drawRect:(CGRect)rect
{
//获取上下文
CGContextRef ctx=UIGraphicsGetCurrentContext();
//绘图
//第一条线
CGContextMoveToPoint(ctx, 20, 100);
CGContextAddLineToPoint(ctx, 100, 320);
//设置第一条线的状态
//设置线条的宽度
CGContextSetLineWidth(ctx, 12);
//设置线条的颜色
[[UIColor brownColor]set];
//设置线条两端的样式为圆角
CGContextSetLineCap(ctx,kCGLineCapRound);
//对线条进行渲染
CGContextStrokePath(ctx);
//第二条线
CGContextMoveToPoint(ctx, 40, 200);
CGContextAddLineToPoint(ctx, 80, 100);
//渲染
CGContextStrokePath(ctx);
}
效果图:
新的需求:要让两条线的颜色不一样,要求第二条线变成原版的样子。要达到上面的要求,有以下几种做法:
第一种做法:
在对第二条线进行设置的时候,清空它的状态
复制代码 代码如下:
- (void)drawRect:(CGRect)rect
{
//获取上下文
CGContextRef ctx=UIGraphicsGetCurrentContext();
//绘图
//第一条线
CGContextMoveToPoint(ctx, 20, 100);
CGContextAddLineToPoint(ctx, 100, 320);
//设置第一条线的状态
//设置线条的宽度
CGContextSetLineWidth(ctx, 12);
//设置线条的颜色
[[UIColor brownColor]set];
//设置线条两端的样式为圆角
CGContextSetLineCap(ctx,kCGLineCapRound);
//对线条进行渲染
CGContextStrokePath(ctx);
//第二条线
CGContextMoveToPoint(ctx, 40, 200);
CGContextAddLineToPoint(ctx, 80, 100);
//清空状态
CGContextSetLin
您可能关注的文档
- 2016201701办公自动化练习题B.doc
- 20160105深圳市桥梁边坡管理系统上线运行工作指引.doc
- 20162小蒲午托部春季食谱(新四).doc
- 2016-2017学年高中物理第15章相对论简介3-4狭义相对论的其他结论广义相对论简介课时作业.doc
- 2015高考新课标1卷理综物理部分解析.doc
- 2016中级经济师讲义第一章.doc
- 2016口解生期末复习之完整版.docx
- 2014高考必修三习题.doc
- 2016厦大考研历史学考研大纲.doc
- 2016大学生就业形式分析.doc
- [昆明]2024年云南昆明市东川区公安局招聘第三批辅警笔试历年高频考点(难、易错点)附带答案详解.docx
- [昆明]2024年云南昆明医科大学第一附属医院招聘非事业编制58人(第一批)笔试历年高频考点(难、易错点)附带答案详解.docx
- [昆明]云南昆明医科大学附属口腔医院非事业编制工作人员招聘19人(第二批次)笔试历年高频考点(难、易错点)附带答案详解.docx
- [昆明]2024年云南昆明安宁市卫生健康局所属事业单位第二次校园招聘笔试历年高频考点(难、易错点)附带答案详解.docx
- [昆明]2024年云南昆明市儿童医院第一批次编制外招聘工作人员35人笔试历年高频考点(难、易错点)附带答案详解.docx
- [昆明]2024年第二季度云南昆明血液中心编外聘用人员招聘笔试历年高频考点(难、易错点)附带答案详解.docx
- [无锡]2024年江苏无锡市锡山区事业单位招聘和笔试历年高频考点(难、易错点)附带答案详解.docx
- [无锡]2024年江苏无锡科技职业学院招聘12人笔试历年高频考点(难、易错点)附带答案详解.docx
- [无锡]江苏无锡市惠山区部分街道村(社区)招聘编外工作人员72人笔试历年高频考点(难、易错点)附带答案详解.docx
- [日照]2024年山东日照市东港区事业单位招聘笔试历年高频考点(难、易错点)附带答案详解.docx
文档评论(0)