图形上下文以及一点关于图形上下文的小东西

由于博主本人比较懒,学习过程中也做了印象笔记,所以以后博客的内容将直接复制印象笔记中的内容,排版会有些奇怪,博主一般做笔记的习惯是直接在XCode上直接打然后截图在印象笔记上所以会有很多图片,以后博客内容每周更新整理一次,会尽力将博主这礼拜所学东西都上传的

 

 

图形上下文只有在drawrect这个方法里面才可以用,换句话说就是只有在这个方法中layer才能用,在后续的学习中我们可以看到基于位图的上下文也出现了图形上下文
写一条线段
1.创建图形上下文  CGContextRef ctx = UIGraphicsGetCurrentContext();//这个图形上下文可以把他理解为单例(然而他并不是单例)
 
 
 
 
 
movetopoint的意思是以这个为起点的点,而Add指的就是他的终点,如果再次add的话就是以之前的点为起点,必须要输出目标 才算完成,如果没有输出目标的话 接下去 再在
 
 
 
 
画第二条的话 前面的颜色设置就没有用了,(只有在重新设置颜色才没有用,如果没有重新设置还是用原本的,当然后续的学习中我们发现可以用堆栈来赋予他新的像一张白纸一样的图形上下文)
绘制四边形也就是矩形
 
三角形
所以最后出来的效果是这样的
 
圆弧
 
 
 
 
所以  绘制不同的图形也只是  add改变了  
贝塞尔曲线
 
 
 
 CGContextSaveGState(<#CGContextRef c#>);//ctx拷贝一份到栈里面
    CGContextRestoreGState(<#CGContextRef c#>);//将栈顶的上下文取出替换当前的上下文
 
这样子以后,接下去创建的图形上下文就跟之前的没有关系了 (如新创建的一般,如果没有这个的话,新的add出来的图形会有一根线与之前的相连,因为他是add的亦即添加所以会有一根线与之前的图形的终点相连)
这个跟堆栈的道理是一样的
先把图形上下文设置了 下面写线段圆之类的图形也会执行上面这些的设置只要没有结束当前栈的图形上下文 ,这些设置就会起作用
利用图形上下文进行剪裁
image drawAtPoint 和drawInRect 还有 image drawAspatternInrect 第三个是平铺 
图片水印,下面那些是放字符串的
 
 
 
上面的东西都是没有新建一张图片都是在原有的基础上作画,没有生成一张新的图片。
接下来写的是关于要保存图片  ,保存图片意味着要有一个基于视图的上下文,因为最后的image是在视图上下文上得 所有视图上下文不用重绘就可以出现
 
 
 

 

posted @ 2015-12-27 10:58  断尽流年  阅读(233)  评论(0编辑  收藏  举报