IOS開發之Quart繪圖方法簡介

來源:互聯網
上載者:User

在我們剛剛接觸Quertz 2D的時候,很重要的一點是:繪圖是在圖形的上下文進行的。每一個視圖都有關聯的上下文。

所以如果在某個視圖中繪圖,我們要檢索當前的上下文

CGContextRef ctx =
UIGraphicsGetCurrentContext();   

//檢索當前上下文,繪圖的每一個視圖都有相關聯的上下文,之後將此上下文傳遞給core graphics繪圖函數來繪製 

CGContextSetLineWidth(ctx, 3.0);           //設定直線的像素為2;

CGContextSetStrokeColorWithColor(ctx, [UIColor greenColor].CGColor);       //指定筆畫顏色為綠色;

需要注意的是在繪圖操作中有兩種不同的顏色設定:

筆畫顏色用於繪製直線或者說形狀的輪廓(圓形方形等)

填充顏色用於填充形狀(裡面)

CGContextMoveToPoint(ctx, 0.0f, 0.0f);      //直線的起點

     CGContextAddLineToPoint(ctx,
100, 100); //直線終點,調用這個函數的時候是將這個不可見的筆畫移動到新的位置,但是並沒有繪製任何內容。

     CGContextStrokePath(ctx); //這個函數繪製直線。

 
  1. CGContextSetRGBFillColor /CGContextSetFillColorWithColor   //填充顏色   
  2. CGContextSetRGBStrokeColor /CGContextSetStrokeColorWithColor //筆畫顏色   
  3. CGContextSetLineWidth    //線寬度



繪圖的另一個重要屬性是:顏色

在平常的開發應用中,我們設定顏色一般都用UIColor,但是在Quertz 2D中我們不能直接調用UIColor對象,但是UIColor中包含了CGColor屬性

@property(nonatomic,
readonly) CGColorRef CGColor; 所以我們在設定顏色的時候可以運用[UIColor blueColor].CGColor

上面簡單介紹了繪製線以及CGColor,但是如果需要我們用Core Graphics操作CGImage怎麼辦呢。這個時候我們需要指定一個CGPoint來確定圖片的左上方或者指定一個CGRect來框住映像,並很據需要調整映像的大小時期適合該框

CGPoint drawPoint = CGPointMake(100.0f, 11.0f);

[image drawAtPoint:drawPoint];


繪製形狀:

繪製橢圓形: CGRect rect = CGRectMake(0, 0, 100, 100);

    CGContextAddEllipseInRect(ctx, rect);

    CGContextDrawPath(ctx,
kCGPathFillStroke);


CGContextAddRect(CGContextRef c,
CGRect rect)

CGContextAddRects(CGContextRef c,
const CGRect rects[],size_t count];

CGContextAddLines(CGContextRef c,
const CGPoint points[],size_t count];

CGContextAddEllipseInRect(CGContextRef context,
CGRect rect)

CGContextAddArc

CGContextAddArcToPoint

CGContextAddPath(CGContextRef context,
CGPathRef path)


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.