91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS開發CGContextRef畫圖怎么使用

發布時間:2022-04-27 10:28:52 來源:億速云 閱讀:271 作者:iii 欄目:開發技術

這篇“iOS開發CGContextRef畫圖怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“iOS開發CGContextRef畫圖怎么使用”文章吧。

1.創建畫布

CGContextRef ctx = UIGraphicsGetCurrentContext();

2.設置屬性

//旋轉,注意:設置操作必須要在添加圖形之前,如果設置在添加圖形之后的話,此時它已經畫完了,無效
//旋轉的時候,是整個layer都旋轉了
//旋轉45度
CGContextRotateCTM(ctx, M_PI_4);
//縮放:x方向縮放0.5倍,y方向縮放1.5倍
CGContextScaleCTM(ctx, 0.5, 1.5);
//平移:x方向移動50,y方向移動100
CGContextTranslateCTM(ctx, 50, 100);
CGContextSetLineJoin(ctx, kCGLineJoinRound);
//線條寬度
CGContextSetLineWidth(ctx, 1.0);
//起點和終點圓角
CGContextSetLineCap(ctx, kCGLineCapRound);
//轉角圓角
CGContextSetLineJoin(ctx, kCGLineJoinRound);
//透明度
CGContextSetAlpha(ctx, 0.5)

3.畫直線

//起點
CGContextMoveToPoint(ctx, 10.0, 100.0);
//終點
CGContextAddLineToPoint(ctx, self.frame.size.width-20.0, 100.0);
//顏色 兩種設置顏色的方式都可以
//CGContextSetRGBStrokeColor(ctx, 0, 1.0, 0, 1.0);
[[UIColor redColor] set];
//渲染,直線只能繪制空心的,不能調用CGContextFillPath(ctx)
// 或者使用這個方法:CGContextDrawPath(ctx, kCGPathStroke);
CGContextStrokePath(ctx);

或者使用下面方法畫直線

CGPoint point[2];//坐標點  
point[0] = CGPointMake(10.0, 100.0);//起點  
point[1] = CGPointMake(self.frame.size.width-20.0, 100.0);//終點   
//points[]坐標數組,和count大小  
CGContextAddLines(context, aPoints, 2);//添加線  
CGContextDrawPath(context, kCGPathStroke);

4.畫虛線

//設置虛線顏色
CGContextSetStrokeColorWithColor(ctx, [UIColor redColor].CGColor);
//設置虛線繪制起點
CGContextMoveToPoint(ctx, 10.0, 50.0);
//設置虛線繪制終點
CGContextAddLineToPoint(ctx, self.frame.size.width-20.0, 50.0);
//設置虛線排列的寬度間隔:下面的arr中的數字表示先繪制3個點再繪制1個點
CGFloat arr[] = {3, 2};
//下面最后一個參數“2”代表排列的個數。
CGContextSetLineDash(ctx, 0, arr, 2);
CGContextDrawPath(ctx, kCGPathStroke);

5.畫三角形

//起點
CGContextMoveToPoint(ctx, self.center.x, 200.0);
//拐點1
CGContextAddLineToPoint(ctx, self.center.x-50.0, 250.0);
//終點
CGContextAddLineToPoint(ctx, self.center.x+50.0, 250.0);
//顏色 兩種設置顏色的方式都可以
//CGContextSetRGBStrokeColor(ctx, 0, 1.0, 0, 1.0);
[[UIColor redColor] set];
//合并三角形
CGContextClosePath(ctx);
CGContextFillPath(ctx);

6.畫矩形

CGRect rectangle = CGRectMake(10.0, 300.0, self.frame.size.width-20.0, 60.0);
CGContextAddRect(ctx, rectangle);
CGContextSetFillColorWithColor(ctx, [UIColor redColor].CGColor);
CGContextFillPath(ctx);

7.畫圓

/**
c           當前圖形
x           圓心坐標x
y           圓心坐標y
radius      半徑
startAngle  弧的起點與正X軸的夾角
endAngle    弧的終點與正X軸的夾角
clockwise   指定0創建一個順時針的圓弧,或是指定1創建一個逆時針圓弧
*/
CGContextAddArc(ctx, self.center.x, 100.0, 75.0, 0.0, M_PI+0.5, 0);
CGContextSetFillColorWithColor(ctx, [UIColor redColor].CGColor);
CGContextFillPath(ctx);

8.畫橢圓

CGContextAddEllipseInRect(ctx, CGRectMake(x, y, 100.0, 60.0));
CGContextSetFillColorWithColor(ctx, [UIColor redColor].CGColor);
CGContextFillPath(ctx);

9.畫扇形

CGContextMoveToPoint(ctx, x, y);
CGContextAddArc(ctx, x, y, 75.0, 0.0, M_PI+0.5, 0);
CGContextSetFillColorWithColor(ctx, [UIColor redColor].CGColor);
CGContextSetStrokeColorWithColor(ctx, [UIColor blueColor].CGColor);
CGContextDrawPath(ctx, kCGPathFillStroke);

10.畫二次貝塞爾曲線

CGContextMoveToPoint(context, 120, 300);//設置Path的起點  
CGContextAddQuadCurveToPoint(context,190, 310, 120, 390);//設置貝塞爾曲線的控制點坐標和終點坐標  
CGContextStrokePath(context);

11.畫三次貝塞爾曲線

CGContextMoveToPoint(context, 200, 300);//設置Path的起點  
CGContextAddCurveToPoint(context,250, 280, 250, 400, 280, 300);//設置貝塞爾曲線的控制點坐標和控制點坐標終點坐標  
CGContextStrokePath(context);

12.畫文字

// 設置文字的屬性
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
dict[NSForegroundColorAttributeName] = [UIColor whiteColor];
dict[NSFontAttributeName] = [UIFont systemFontOfSize:14];
[@"I Love iOS" drawInRect:rect withAttributes:dict];

13.畫圖片

UIImage *image = [UIImage imageNamed:@"apple.jpg"];  
[image drawInRect:CGRectMake(60, 340, 20, 20)];//在坐標中畫出圖片  
//[image drawAtPoint:CGPointMake(100, 340)];//保持圖片大小在point點開始畫圖片,可以把注釋去掉看看  
CGContextDrawImage(context, CGRectMake(100, 340, 20, 20), image.CGImage);//使用這個使圖片上下顛倒了      
//CGContextDrawTiledImage(context, CGRectMake(0, 0, 20, 20), image.CGImage);//平鋪圖

以上就是關于“iOS開發CGContextRef畫圖怎么使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西乡县| 灌南县| 泰来县| 普宁市| 锡林郭勒盟| 新泰市| 资兴市| 黑龙江省| 海安县| 忻州市| 敦煌市| 邯郸县| 阿合奇县| 中牟县| 新源县| 金门县| 天峻县| 竹山县| 永德县| 河西区| 庆安县| 隆昌县| 临潭县| 东辽县| 丹江口市| 昌都县| 五原县| 平顶山市| 壤塘县| 布尔津县| 乌兰县| 温宿县| 淳化县| 潞西市| 武宣县| 杭州市| 闽清县| 沁水县| 台北县| 会东县| 吉林市|