iOS 圖形繪製<一> 利用Quartz2D繪製直線

Quartz2D的API是純C語⾔言的 Quartz2D的API來自於Core Graphics框架框架

數據類型和函數基本都以CG做爲前綴函數

CGContextRef CGPathRef CGContextStrokePath(ctx);code

如何利用Quartz2D繪製東西到view上?繼承

首先,得有圖形上下文,由於它能保存繪圖信息,而且決定着繪製到什麼地方去渲染

其次,那個圖形上下⽂必須跟view相關聯,才能將內容繪製到view上面數據類型

⾃定義view的步驟:方法

(1)新建⼀個類,繼承自UIView數據

(2)實現-(void)drawRect:(CGRect)rect⽅法.而後在這個⽅方法中 :樣式

1)取得跟當前view相關聯的圖形上下文;文件

2)繪製相應的圖形內容

3)利用圖形上下文將繪製的全部內容渲染顯示到view上面

首先繪製直線:首先須要在工程中導入 <CoreGraphics/CoreGraphics.h>的頭文件。

- (void)drawRect:(CGRect)rect {
    // Drawing code
    // 1.取得和當前視圖相關聯的圖形上下文(由於圖形上下文決定繪製的輸出目標)/
    // 若是是在drawRect方法中調用UIGraphicsGetCurrentContext方法獲取出來的就是Layer的上下文
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    // 2.繪圖(繪製直線), 保存繪圖信息
    // 設置起點
    CGContextMoveToPoint(ctx, 30, 100);
    //設置終點
    CGContextAddLineToPoint(ctx, 300, 300);
    
    
    //2. 設置繪圖的狀態
    //設置線條的顏色
//    CGContextSetRGBStrokeColor(ctx, 0, 1.0, 0, 1);//第一種
    [[UIColor blueColor]set];//第二種
    //線條寬度
    CGContextSetLineWidth(ctx, 12);
    //設置線條起點終點爲圓角樣式
    CGContextSetLineCap(ctx, kCGLineCapRound);
    //設置線條的轉角的樣式爲圓角
    CGContextSetLineJoin(ctx, kCGLineJoinRound);
    //3. 渲染(繪製一條空心的線)
    CGContextStrokePath(ctx);
    //注意線條不能渲染爲實心的
//    CGContextFillPath(ctx);
}
相關文章
相關標籤/搜索