Quartz2D——線段繪制方式

Quartz2D繪圖的步驟: 1.獲取上下文 2.創(chuàng)建路徑(描述路徑) 3.把路徑添加到上下文 4.渲染上下文。通常在drawRect方法里面繪圖,因?yàn)橹挥性谶@個(gè)方法里面才能獲取到跟View的layer相關(guān)聯(lián)的圖形上下文。

  • 方式一
- (void)drawRect:(CGRect)rect {    
      // 1.獲取圖形上下文
    // 目前我們所用的上下文都是以UIGraphics
    // CGContextRef Ref:引用 CG:目前使用到的類型和函數(shù) 一般都是CG開(kāi)頭 CoreGraphics
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    
    // 2.描述路徑
    // 創(chuàng)建路徑
    CGMutablePathRef path = CGPathCreateMutable();
    
    // 設(shè)置起點(diǎn)
    // path:給哪個(gè)路徑設(shè)置起點(diǎn)
    CGPathMoveToPoint(path, NULL, 50, 50);
    
    // 添加一根線到某個(gè)點(diǎn)
    CGPathAddLineToPoint(path, NULL, 200, 200);
    
    // 3.把路徑添加到上下文
    CGContextAddPath(ctx, path);
    
    // 4.渲染上下文
    CGContextStrokePath(cox);
}
  • 方式二:
    - (void)drawRect:(CGRect)rect {
    // 獲取上下文
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    
    // 描述路徑
    // 設(shè)置起點(diǎn)
    CGContextMoveToPoint(ctx, 50, 50);
    
    CGContextAddLineToPoint(ctx, 200, 200);
    
    // 渲染上下文
    CGContextStrokePath(cox);
}
  • 方式三:
    - (void)drawRect:(CGRect)rect {
    // UIKit已經(jīng)封裝了一些繪圖的功能
    
    // 貝瑟爾路徑
    // 創(chuàng)建路徑
    UIBezierPath *path = [UIBezierPath bezierPath];
    
    // 設(shè)置起點(diǎn)
    [path moveToPoint:CGPointMake(50, 50)];
    
    // 添加一根線到某個(gè)點(diǎn)
    [path addLineToPoint:CGPointMake(200, 200)];
    
    // 繪制路徑
    [path stroke];
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Quartz2D以及drawRect的重繪機(jī)制字?jǐn)?shù)1487 閱讀21 評(píng)論1 喜歡1一、什么是Quartz2D Q...
    PurpleWind閱讀 788評(píng)論 0 3
  • Quartz2D 簡(jiǎn)介 Quartz2D是二維(平面)的繪圖引擎(經(jīng)包裝的函數(shù)庫(kù),方便開(kāi)發(fā)者使用。也就是說(shuō)蘋果幫我...
    iOS_Cqlee閱讀 637評(píng)論 0 2
  • 在iOS中隨處都可以看到絢麗的動(dòng)畫效果,實(shí)現(xiàn)這些動(dòng)畫的過(guò)程并不復(fù)雜,今天將帶大家一窺ios動(dòng)畫全貌。在這里你可以看...
    每天刷兩次牙閱讀 8,551評(píng)論 6 30
  • 轉(zhuǎn)載:http://www.lxweimin.com/p/32fcadd12108 每個(gè)UIView有一個(gè)伙伴稱為l...
    F麥子閱讀 6,288評(píng)論 0 13
  • --繪圖與濾鏡全面解析 概述 在iOS中可以很容易的開(kāi)發(fā)出絢麗的界面效果,一方面得益于成功系統(tǒng)的設(shè)計(jì),另一方面得益...
    韓七夏閱讀 2,767評(píng)論 2 10