iOS中的圖形和繪製

來源:互聯網
上載者:User

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

- 在卷屏時可以不清空上次繪製結果

- 減少繪製狀態切換。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.