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導致記憶體暴增的解釋
相關文章
- iOS股票K線圖、分時圖繪製iOS
- iOS使用Charts框架繪製折線圖iOS框架
- iOS 重繪之drawRectiOS
- iOS UI繪製原理iOSUI
- iOS 繪製圓角iOS
- 【Android繪圖】繪圖之基礎篇(一)Android繪圖
- python繪圖Python繪圖
- Matlab繪圖Matlab繪圖
- PLT繪圖繪圖
- 繪圖工具繪圖
- Python 繪圖Python繪圖
- 使用joinjs繪製流程圖(五)-流程圖繪製JS流程圖
- 想要一款iOS向量繪圖程式設計工具?推薦來了iOS繪圖程式設計
- Matlab繪圖(2)透過程式碼進行區域性放大繪圖、多檔案繪圖Matlab繪圖
- 繪製圖形
- Spring AI(繪圖)SpringAI繪圖
- R繪圖 第一篇:ggplot2繪圖繪圖
- 【MATLAB】基本繪圖函式(涵蓋所有基本繪圖指令)Matlab繪圖函式
- CAD繪圖工具中的繪線命令繪圖
- iOS 繪製漸變·基礎篇iOS
- R語言中繪圖設定不輸出繪圖內容R語言繪圖
- python繪圖之matplotlibPython繪圖
- echarts繪製餅圖Echarts
- Matplotlib 詳細繪圖繪圖
- matplotlib繪製圖形
- OpenGL 繪圖移動繪圖
- Android 繪圖基礎Android繪圖
- PyQtGraph之多圖繪製QT
- PyQtGraph繪圖參考QT繪圖
- PyQT5繪圖QT繪圖
- drawio繪圖軟體繪圖
- 繪製雷達圖
- Highcharts繪製餅圖
- java:繪製圖形Java
- Matplotlib繪圖基礎繪圖
- FireAlpaca 專業繪圖繪圖
- 簡易流程圖繪圖軟體流程圖繪圖
- Matlab繪圖(1)透過屬性檢查器調整繪圖Matlab繪圖
- 審批流程圖怎樣繪製?繪製流程圖方法有哪些流程圖