Quartz2D简单图形
生活随笔
收集整理的這篇文章主要介紹了
Quartz2D简单图形
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這些天一直準備學繪圖和核心動畫這塊,可一直找不到合適系統的教材,沒有大綱,比較糾結,在網上搜了又搜,看著其他的博文寫的
第一遍來學習繪制簡單的圖形
// 若想利用Quartz 2D在View上繪制信息,首先必須有圖形上下文,用來保存繪圖信息,輸出目標。其次,圖像上下文與View相關聯(這時候圖形上下文的輸出目標即為關聯的View)// 1.為什么需要在drawrect中繪圖? 因為在drawRect:方法中才能取得跟view相關聯的圖形上下文 // 2.drawRect:方法在什么時候被調用?//1.當view第一次顯示到屏幕上時(被加到UIWindow上顯示出來)//2.調用view的setNeedsDisplay或者setNeedsDisplayInRect:時 // 3.繪圖順序 后繪制的圖形若與先繪制的圖形發生重疊,后繪制的圖形覆蓋先繪制的圖形- (void)drawRect:(CGRect)rect {//畫直線//獲取圖像上下文,在此方法調用獲取的是layer的上下文CGContextRef context=UIGraphicsGetCurrentContext();//設置起點CGContextMoveToPoint(context, 20, 100);//設置終點CGContextAddLineToPoint(context, 50, 60);CGContextAddLineToPoint(context, 60, 80);//設置線條顏色 二選一/* [[UIColor yellowColor]set];//設置邊框填充顏色都為同一種[[UIColor yellowColor] setStroke];//設置邊框顏色[[UIColor yellowColor] setFill];// 設置填充顏色*/CGContextSetRGBStrokeColor(context, 0, 1.0, 0, 1.0);//設置填充顏色CGContextSetFillColorWithColor(context, [UIColor blueColor].CGColor);//設置線條寬度CGContextSetLineWidth(context, 5.0);//設置起點終點樣式為圓角CGContextSetLineCap(context, kCGLineCapRound);//設置線條轉角樣式為圓角CGContextSetLineJoin(context, kCGLineJoinRound);//渲染到圖層上 不調用前面設置的不顯示//線條邊框渲染CGContextStrokePath(context);//填充 內部填充 // CGContextFillPath(context);//畫三角//設置三個點CGContextMoveToPoint(context, 30, 120);CGContextAddLineToPoint(context, 50, 200);CGContextAddLineToPoint(context, 200, 60);CGContextAddLineToPoint(context, 200, 80);//設置邊框顏色CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1.0);//連接起點終點 無的話是只是幾個點按順序相連,起始點并未連接CGContextClosePath(context);CGContextStrokePath(context); // CGContextFillPath(context);//畫矩形CGContextAddRect(context, CGRectMake(50, 60, 100, 80));[[UIColor blueColor] setStroke]; // CGContextFillPath(context);CGContextStrokePath(context);//畫圓 1參數 上下文 2、3參數 圓中心x、y坐標 4參數 半徑 5、6參數起始角度 7參數 0順時針 1逆時針CGContextAddArc(context, 60, 60, 20, 3.1415026/2, 0, 1);CGContextStrokePath(context);//畫橢圓 圓是特殊的橢圓 所以可以用畫橢圓的方法來畫圓CGContextAddEllipseInRect(context, CGRectMake(80, 80, 100, 200));CGContextStrokePath(context);//畫圓弧CGContextAddArc(context, 160, 160, 50, 3.1415026/2, 0, 1);CGContextSetRGBStrokeColor(context, 1.0, 1.0, 0.5, 1.0);CGContextClosePath(context);CGContextStrokePath(context); }?
轉載于:https://www.cnblogs.com/5ishare/p/4401857.html
總結
以上是生活随笔為你收集整理的Quartz2D简单图形的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 移动端开发碰到一个坑
- 下一篇: 如何构建高扩展性网站?