iOS CGContextRef畫圖常用

來源:互聯網
上載者:User

標籤:blog   http   color   io   os   ar   sp   div   art   

CGContextRef context = UIGraphicsGetCurrentContext(); //設定上下文

 

   //畫一條線

   CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);//線條顏色

   CGContextSetLineWidth(context, 5.0);//線條寬度

   CGContextMoveToPoint(context, 20, 20); //開始畫線, x,y 為開始點的座標

   CGContextAddLineToPoint(context, 300, 20);//畫直線, x,y 為線條結束點的座標

   CGContextStrokePath(context); //開始畫線

 

   

   //繪製貝茲曲線

   //貝茲曲線是通過移動一個起始點,然後通過兩個控制點,還有一個中止點,調用CGContextAddCurveToPoint() 函數繪製

   CGContextSetLineWidth(context, 2.0);

   CGContextSetStrokeColorWithColor(context, [UIColor blueColor].CGColor);

   CGContextMoveToPoint(context, 10, 10);

   CGContextAddCurveToPoint(context, 200, 50, 100, 400, 300, 400);

   CGContextStrokePath(context);

   

   

   //繪製連續的曲線

   CGContextSetLineWidth(context, 5.0);

   CGContextSetStrokeColorWithColor(context, [UIColor greenColor].CGColor);

   CGContextMoveToPoint(context, 230, 150);//開始畫線, x,y 為開始點的座標

   CGContextAddCurveToPoint(context, 310, 100, 300, 200, 220, 220);//畫三次點曲線

   CGContextAddCurveToPoint(context, 290, 140, 280, 180, 240, 190);//畫三次點曲線

   

   CGContextStrokePath(context);//開始畫線

 

   

   //繪製虛線

   CGContextSetRGBStrokeColor(context, 0.1, 0.2, 0.3, 1);//線條顏色

   float dashArray1[] = {3, 2};

   CGContextSetLineDash(context, 0, dashArray1, 2);//畫虛線,可參考http://blog.csdn.net/zhangao0086/article/details/7234859

   CGContextMoveToPoint(context, 5, 70);//開始畫線, x,y 為開始點的座標

   CGContextAddLineToPoint(context, 310, 70);//畫直線, x,y 為線條結束點的座標

   CGContextStrokePath(context);//開始畫線

   

   //繪製虛曲線

   CGContextSetRGBStrokeColor(context, 0.3, 0.2, 0.1, 1);//線條顏色

   float dashArray2[] = {3, 2, 10};

   CGContextSetLineDash(context, 0, dashArray2, 3);//畫虛線

   CGContextMoveToPoint(context, 5, 90);//開始畫線, x,y 為開始點的座標

   CGContextAddCurveToPoint(context, 200, 50, 100, 400, 300, 400);

   CGContextStrokePath(context);//開始畫線

 

 

   

   //繪製連續的曲線

   CGContextSetLineWidth(context, 5.0);

   float dashArray3[] = {3, 2, 10, 20, 5};

   CGContextSetLineDash(context, 0, dashArray3, 5);//畫虛線

   CGContextSetStrokeColorWithColor(context, [UIColor greenColor].CGColor);

   CGContextMoveToPoint(context, 5, 400);//開始畫線, x,y 為開始點的座標

   CGContextAddCurveToPoint(context, 50, 200, 80, 300, 100, 220);//畫三次點曲線

   CGContextAddQuadCurveToPoint(context, 150, 100, 200, 200);//畫二次點曲線

   CGContextAddCurveToPoint(context, 240, 400, 10, 50, 300, 300);//畫三次點曲線

   CGContextStrokePath(context);//開始畫線

 

   

   

   //畫一個方形圖形 沒有邊框

   CGContextSetRGBFillColor(context, 0, 0.25, 0, 0.5); //方框的填充色

   CGContextFillRect(context, CGRectMake(5, 150, 100, 100)); //畫一個方框

   

   //畫弧線

   CGContextSetRGBStrokeColor(context, 0.3, 0.4, 0.5, 1);//線條顏色

   CGContextAddArc(context, 180, 200, 50, 0, 180*(M_PI/180), 0);

  

   CGContextStrokePath(context);//開始畫線

 

 

 

   //畫方形邊框

   CGContextRef context5 = UIGraphicsGetCurrentContext(); //設定上下文

   CGContextSetLineWidth(context5, 3.0);

   CGContextSetRGBStrokeColor(context5, 0.8, 0.1, 0.8, 1);

   CGContextStrokeRect(context5, CGRectMake(5, 5, 300, 400));//畫方形邊框, 參數2:方形的座標。

 

 

   //畫橢圓

   CGRect aRect= CGRectMake(80, 80, 160, 100);

   CGContextSetRGBStrokeColor(context, 0.6, 0.9, 0, 1.0);

   CGContextSetLineWidth(context, 3.0);

   CGContextAddEllipseInRect(context, aRect); //橢圓, 參數2:橢圓的座標。

   CGContextDrawPath(context, kCGPathStroke);

 

   //畫實心圓

   CGContextFillEllipseInRect(context, CGRectMake(95, 195, 200.0, 100));//畫實心圓,參數2:圓座標。可以是橢圓

 

   //畫一個菱形

   CGContextSetLineWidth(context, 2.0);

   CGContextSetStrokeColorWithColor(context, [UIColor blueColor].CGColor);

   CGContextMoveToPoint(context, 100, 100);

   CGContextAddLineToPoint(context, 150, 150);

   CGContextAddLineToPoint(context, 100, 200);

   CGContextAddLineToPoint(context, 50, 150);

   CGContextAddLineToPoint(context, 100, 100);

   CGContextStrokePath(context);

 

   //填充了一段路徑:

   CGContextMoveToPoint(context, 100, 100);

   CGContextAddLineToPoint(context, 150, 150);

   CGContextAddLineToPoint(context, 100, 200);

   CGContextAddLineToPoint(context, 50, 150);

   CGContextAddLineToPoint(context, 100, 100);

   CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);

   CGContextFillPath(context);

iOS CGContextRef畫圖常用

聯繫我們

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