iOS繪圖
1.UIKit(UIImage、NSString(繪製文字)、UIBezierPath(繪製形狀)、UIColor)
1.相對來說,現在用的比較多的還是UIKit,例如股票的APP,用的比較多的是UIBezierPath+CAShaperLayer,CAShapeLayer可以繪製多邊形,直線和曲線。CATextLayer可以繪製文字。CAGradientLayer用來繪製漸變。用CoreGraphics的也有
但是CoreGraphics偏底層,而且需要獲取當前上下文或者新建上下文CGContextRef(可以理解為畫布)
2.動畫的話是CAShaperLayer+CAAnimation就可以實現動態的動畫效果
3.使用
- (void)drawRect:(CGRect)rect // 1.重寫drawRect方法
{
UIBezierPath* aPath = [UIBezierPath bezierPathWithRect:CGRectMake(20, 20, 100, 50)]; // 2.建立圖形相應的UIBezierPath物件
// 3.設定一些修飾屬性
aPath.lineWidth = 8.0;
aPath.lineCapStyle = kCGLineCapRound;
aPath.lineJoinStyle = kCGLineCapRound;
UIColor *color = [UIColor colorWithRed:0 green:0 blue:0.7 alpha:1];
[color set];
[aPath stroke]; // 4.渲染,完成繪製
}
// 最後的閉合線是可以通過呼叫closePath方法來自動生成的,也可以呼叫-addLineToPoint:方法來新增
// [path addLineToPoint:CGPointMake(100, 100)];
[path closePath];
1.1對UIBezierPath的詳解,相對來說是從官網的中文翻譯加說明 http://www.jianshu.com/p/6130b51a0b71?utm_source=tuicool&utm_medium=referral
2.Core Graphics (基於Quartz 2D API)
蘋果公司使用C語言編寫的一套繪圖引擎(一組能夠實現繪圖API),即可以在iOS中使用,也可以在Mac OS X上使用
2.1解說:
CGContextRef即圖形上下文。可以這麼理解,我們繪圖是需要一個載體或者說輸出目標,它用來顯示繪圖資訊,並且決定繪製的東西輸出到哪個地方。可以形象的比喻context就像一個"畫板",我們得把圖形繪製到這個畫板上。所以,繪圖必須要先有context。 取到的CGContext分兩種
2.1.1 第一種方法是利用cocoa為你生成的圖形上下文。當你子類化了一個UIView並實現了自己的drawRect:方法後,一旦drawRect:方法被呼叫,Cocoa就會為你建立一個圖形上下文,此時你對圖形上下文的所有繪圖操作都會顯示在UIView上。// 1.獲取上下文CGContextRef ctx = UIGraphicsGetCurrentContext();
2.1.2 第二種方法就是建立一個圖片型別的上下文。呼叫UIGraphicsBeginImageContextWithOptions函式就可獲得用來處理圖片的圖形上下文。利用該上下文,你就可以在其上進行繪圖,並生成圖片。呼叫UIGraphicsGetImageFromCurrentImageContext函式可從當前上下文中獲取一個UIImage物件。記住在你所有的繪圖操作後別忘了呼叫UIGraphicsEndImageContext函式關閉圖形上下文。
2.2.1參考 http://www.cnblogs.com/kenshincui/p/3959951.html#!comments
2.2.2參考 http://www.cocoachina.com/ios/20141104/10124.html
3.OpenGL ES和GLKit
4.UIImage繪圖的處理
http://www.jianshu.com/p/3baddf100b67
5.使用CoreGraphics導致記憶體暴增的解釋
相關文章
- OpenCV (iOS)基本繪圖(5)OpenCViOS繪圖
- iOS開發——Core Graphics繪圖iOS繪圖
- iOS 繪圖 - 如何繪製一個多邊形能力分佈圖iOS繪圖
- iOS股票K線圖、分時圖繪製iOS
- ios股票K線圖的繪製iOS
- iOS使用Charts框架繪製折線圖iOS框架
- Nagios整合pnp繪製效能分析圖表iOS
- iOS開發-UI高階 Quartz 2D繪圖iOSUIquartz繪圖
- 論文第4章:iOS繪圖平臺的實現iOS繪圖
- iOS 重繪之drawRectiOS
- iOS UI繪製原理iOSUI
- iOS 繪製圓角iOS
- 【Android繪圖】繪圖之基礎篇(一)Android繪圖
- iOS動畫系列之八:使用CAShapeLayer繪畫動態流量圖iOS動畫
- OpenGL ES 2 0 (iOS)[03]:熟練圖元繪製,玩轉二維圖形iOS
- python繪圖Python繪圖
- Matlab繪圖Matlab繪圖
- 字串繪圖片字串繪圖
- Matlab繪圖(2)透過程式碼進行區域性放大繪圖、多檔案繪圖Matlab繪圖
- 【MATLAB】基本繪圖函式(涵蓋所有基本繪圖指令)Matlab繪圖函式
- R繪圖 第一篇:ggplot2繪圖繪圖
- 想要一款iOS向量繪圖程式設計工具?推薦來了iOS繪圖程式設計
- OpenGL 繪圖移動繪圖
- java:繪製圖形Java
- R語言繪圖R語言繪圖
- Android 繪圖——CanvasAndroid繪圖Canvas
- 使用索引繪圖(轉)索引繪圖
- 繪圖的實現繪圖
- CAD繪圖工具中的繪線命令繪圖
- 使用java繪圖類Graphics繪製圓圈Java繪圖
- iOS 波浪曲線的繪製iOS
- 審批流程圖怎樣繪製?繪製流程圖方法有哪些流程圖
- 簡易流程圖繪圖軟體流程圖繪圖
- Matlab繪圖(1)透過屬性檢查器調整繪圖Matlab繪圖
- Matplotlib 詳細繪圖繪圖
- markdown 繪圖利器之granphviz繪圖
- canvas繪圖之鐘表Canvas繪圖
- 繪圖、手勢綜合App繪圖APP