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和表格

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

- 减少绘制状态切换。

posted @ 2011-07-08 05:40  appDev  阅读(1379)  评论(0编辑  收藏  举报