Core Graphics是iOS中绘制图形的核心框架.
Core Graphics属于媒体层,它负责所有在iOS屏幕上进行的绘图操作。
创建任何界面元素时,iOS都是用Core Graphics来将这些元素绘制到窗口中去的。
通过实现和重载Core Graphics的方法,可以创建自定义的界面元素.
最常见的用法是继承一个UIView的子类,重载其drawRect。
视图刷新或者重绘drawRect都会被调用。
调用频率很高,所以应该极为轻量级。
从不直接调用drawRect,需要重绘使用setNeedDisplay(作用是让iOS根据它的安排调用drawRect)。
图形上下文的属性是状态相关的,改变属性会影响所有后续操作。
要用到的图形上下文属性:
路径(path)
阴影(shadow)
笔画(stroke)
剪裁路径(clip path)
线条粗细(line width)
混合模式(blend mode)
填充色(fill color)
当前形变矩阵(current transform matrix)
线条图案(line dash)
图形上下文栈
一个图形上下文好比是画布上的一副扁平的图画 执行绘画动作,这些动作是在同一个图层上完成的。 图形上下文不允许将内容分不到多个图层中,如果有需求在不同图层上画,可以考虑使用视图层次结构,创建多个UIView,并将他们作为父视图的子视图
图形上下文栈可以把图形上下文的当前状态保存下来,并在执行一些动作后再次恢复回来
CGContextSaveGState();
CGContextStoreGState();
Core Graphics中还提供了很多预先设置好的路径(矩形、圆形等等)。
不妨在drawRect方法中输入“CGContextAdd”试试看。
展现出来的这些方法由Core Graphics提供,
可以用来绘制圆形、椭圆、矩形、二次曲线等路径。
创建完路径后还要记得调用CGContextAddPath方法将路径添加到上下文中。
路径只是我们画的一条线而已,不把他画到上,他就没有什么卵用。
添加好路径后,就要开始画图了。
画图的时候需要考虑画不画边框、画不画边框内部的区域,
边框的粗细、颜色、内部区域颜色等问题。
Core Graphics提供了另一个方法集合”CGContextSet”来进行这些设置。
iOS Core Graphics介绍
最新推荐文章于 2024-01-07 02:12:22 发布