现在的位置: 首页 > 综合 > 正文

iOS中的图形和绘制

2013年08月11日 ⁄ 综合 ⁄ 共 1072字 ⁄ 字号 评论关闭

http://www.cnblogs.com/appDev/archive/2011/07/08/2100607.html

iOS中的图形和绘制

1、iOS支持OpenGL ES和Quartz/UIKit/CoreAnimation绘制接口。UIKit绘制必须在主线程中完成。

2、Quartz支持基于路径的绘制,反走样,填充,图像,上色,坐标变换,pdf绘制显示解析等功能。

3、UIKit支持线条绘制、图像和颜色操作。

4、Core Animation支持动画绘制。

5、View的使用DrawRect绘制,以下行为会触发:

- View的移动和遮挡。

- View的隐藏和显示。

- 拖动View。

- 显示调用setNeedDisplay和setNeedDispalyRect

6、UIKit左上角为原点,右下角为终点。CoreAnimation坐下角为原点,右上角为终点。使用CGContextRotateCTM、CGContextScaleCTM、CGContextTranslateCTM来变换矩阵,或者直接使用CGAffineTransform设置变换矩阵。

7、CGContext绘制上下文,对于Bitmap和PDF,可以创建不同的context类型。

- 变换矩阵

- 裁剪范围

- 线条绘制属性

- 曲线精度

- 反走样

- 填充属性,描边属性

- 半透明属性

- 颜色空间

- 文字

- 颜色混合模式

8、使用UIGraphicsGetCurrentContext来获取当前的CGContext。

9、UIGraphicsBeginImageContextWithOptions和UIGraphicsEndImageContext用来包含图像绘制的代码。

     UIGraphicsBeginPDFContextToFile(ToData)和UIGraphicsEndPDFContext用来包含PDF绘制的代码。

10、Path绘制,即向量绘制。推荐使用UIBezierPath,其次是CGPath。

11、翻转屏幕变换:

CGContextTranslateCTM(graphicsContext, 0.0, drawingRect.size.height);
CGContextScaleCTM(graphicsContext, 1.0, -1.0);

12、Point通常等于Pixel,但是可以指定一个Point对应多个Pixel。

13、使用UIColor坐颜色空间变换。

14、绘制性能:

- 最小化绘制调用

- 尽量使用不透明的View

- 在卷屏时重用View和表格

- 在卷屏时可以不清空上次绘制结果

- 减少绘制状态切换。

抱歉!评论已关闭.