日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ios 扇形 按钮_iOS 画圆弧或扇形

發布時間:2023/12/8 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ios 扇形 按钮_iOS 画圆弧或扇形 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

核心函數:

CGContextAddArc

Adds an arc of a circle to the current path, possibly preceded by a straight line segment

void CGContextAddArc (

CGContextRef c, //圖形上下文

CGFloat x,//圓心x坐標

CGFloat y,//圓心y坐標

CGFloat radius,//圓半徑

CGFloat startAngle,//開始的弧度

CGFloat endAngle,//結束的弧度

int clockwise //畫的方向(0=順時針,1=逆時針)

);

關于角度與弧度的轉換關系代碼:

#define radians(degrees) (degrees)*M_PI/180.0f

畫扇形并生成圖片

//支持retina高分截屏的關鍵

if(UIGraphicsBeginImageContextWithOptions != NULL){

UIGraphicsBeginImageContextWithOptions(frame.size, NO, 0.0);

} else {

UIGraphicsBeginImageContext(frame.size);

}

CGContextRef context = UIGraphicsGetCurrentContext();

//設置矩形填充顏色:紅色

CGContextSetRGBFillColor(context, 1.0, 0.0, 0.0, 1.0);

//設置畫筆顏色:黑色

CGContextSetRGBStrokeColor(context, 0, 0, 0, 1);

//設置畫筆線條粗細

CGContextSetLineWidth(context, 0.6);

//扇形參數

double radius=40; //半徑

int startX=50; //圓心x坐標

int startY=100; //圓心y坐標

double pieStart=0; //起始的角度

double pieCapacity=60; //角度增量值

int clockwise=0; //0=順時針,1=逆時針

//順時針畫扇形

CGContextMoveToPoint(context, startX, startY);

CGContextAddArc(context, startX, startY, radius, radians(pieStart), radians(pieStart+pieCapacity), clockwise);

CGContextClosePath(context);

CGContextDrawPath(context, kCGPathEOFillStroke);

//扇形參數

startX=200; //圓心x坐標

startY=100; //圓心y坐標

pieStart=0; //起始的角度

pieCapacity=60; //角度增量值

clockwise=1; //0=順時針,1=逆時針

//逆時針畫扇形

CGContextMoveToPoint(context, startX, startY);

CGContextAddArc(context, startX, startY, radius, radians(pieStart), radians(pieStart+pieCapacity), clockwise);

CGContextClosePath(context);

CGContextDrawPath(context, kCGPathEOFillStroke);

//生成圖片

UIImage *resImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

圖中:

(1)為順時針畫扇形:角度0° ---> ?60°

(2)為逆時針畫扇形:角度0° ---> ?60°

關于角度的定義:(參見下圖)

紅點為圓心,圓心右邊綠線表示的角度為0°,往下繞紅心順時針開始依次為1°、2°、3°、...、360°。

總結

以上是生活随笔為你收集整理的ios 扇形 按钮_iOS 画圆弧或扇形的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。