网站后台功能开发免费素材库网站
web/
2025/10/5 5:25:20/
文章来源:
网站后台功能开发,免费素材库网站,免费的动态ppt网站,龙岗网站多少钱一、接下来,我们来说这个“图形上下文栈” 1.我们还是把之前的copy这份儿代码复制一下,改个名字,叫做“02-图形上下文栈”, 好,我们把刚才那个圆形拿过来,那条线也拿过来,用CGContextAdd:这种方式, 把第一步,获取当前上下文,也拿过来,第三步,渲染,也拿过来, 打开…一、接下来,我们来说这个“图形上下文栈” 1.我们还是把之前的copy这份儿代码复制一下,改个名字,叫做“02-图形上下文栈”, 好,我们把刚才那个圆形拿过来,那条线也拿过来,用CGContextAdd:这种方式, 把第一步,获取当前上下文,也拿过来,第三步,渲染,也拿过来, 打开注释, 接下来,我们把这个跑一下,应该是一个斜线,再加一个圆圈儿, 是这么一个图形啊,把这个线宽也改一下,改成10, CGContextSetLineWidth(ctx,10);
然后呢,把颜色也改一下,来一个红色的,
[[UIColor redColor] set]; command + R, 我现在画了这么一个图形,我现在接下来,想怎么做,假如说, 左边是我的UIView,右边呢,是我的上下文, 然后,我在上下文里边画东西,当我渲染的时候,我是把这条线,移过来, 也就是说,上下文还在,只不过,上下文里边的路径,没有东西了,
然后呢,我们说,上下文里边,不仅有路径,有输出的目标,也就是这个UIView,还有什么,还有绘图的状态,绘图的状态信息啊,就是说,这个红色啊,线宽,这些东西,都是状态信息,这个上下文还在,也就意味着,你的状态信息,实际上,也还在,虽然你这一次渲染了,渲染,只不过是把路径拿走了,那么,你的绘图信息还在呢,也就是说,我现在在后面这一块儿啊,已经渲染完了, 那我可以在后面,再画一条线,先MoveToPoint,
CGContextMoveToPoint(ctx,20,20); 然后,再往(250,20)画一条线,
CGContextAddLineToPoint(ctx,250,20); 然后呢,再来一个渲染,
// 渲染
CGContextStrokePath(ctx);
command + R, 这个时候呢,我又在这个位置上,多画了一条线,每一次渲染的时候,仅仅是把路径,移到了输出目标上了,但是,你的上下文,还在的, 这张草稿纸,还在的,那你接着往草稿纸上画东西,然后,再去渲染,是没问题的,那,接下来,我要干什么,
3.我现在想呢,画第二条线的时候,换一个样式,比如说,我们就用默认的样式,我们想用这种黑色的,一像素的线,来画最后的这条线, 这个里边呢,我们就要涉及到“图形上下文栈”这个东西了,
首先,它是一个“栈”的结构,一会儿我们再来说“栈”的结构,
然后,在这个里边啊,思路是什么,首先,如果我们不设置这些颜色的话, 不设置颜色,不设置线宽,的话,那么,我们肯定画出来的都是1像素、黑色的线, 这肯定是一种样式,也就是说,这种样式信息,都是在上下文里边的,
那我创建出来的第一个上下文,哦,不是创建出来啊,我第一个获取到的这个上下文,是不是这个状态信息就是黑色的1像素的线, 当前,我们获取到的这个上下文,它默认的这个信息,就是黑色的1像素的线,然后呢,我们现在干什么,我们现在把这个上下文里边的状态信息,把它备份一下#
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87181.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!