国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

關情紙尾-----Quartz2D-基本線條繪制

2019-11-14 18:22:11
字體:
來源:轉載
供稿:網友

1.DrawRect方法作用?什么時候調用?
  DrawRect作用:專用在這個方法當中繪圖的.只有在這個方法當中才能取得跟View相關聯的上下文.
  DrawRect是系統自己調用的, 它是當View顯示的時候自動調用.

2.畫線(基本步驟描述)
  2.1獲取跟View相關聯的上下文
  CGContextRef ctx = UIGraphicsGetCurrentContext();

  2.2繪制路徑
  UIBezierPath *path = [UIBezierPath bezierPath];

  2.2.1設置起點
  [path moveToPoint:CGPointMake(10, 125)];

  2.2.2添加一根線到某個點
  [path addLineToPoint:CGPointMake(200, 125)];

  2.3把路徑添加到上下文
  CGContextAddPath(ctx,path.CGPath);

  2.4把上下文的內容渲染到View上面.
  CGContextStrokePath(ctx);

3. 想要再添加一根線怎么辦?
  第一種方法:重新設置起點,添加一根線到某個點,一個UIBezierPath路徑上面可以有多條線.
  第二種方法:直接在原來的基礎上添加線.把上一條的終點當做下一條線的起點.添加一根線到某個點
  直接在下面addLineToPoint:

4.怎么樣設置線的寬度,顏色,樣式?
  設置這些樣式,我們稱為是修改圖形上下文的狀態.
  設置線寬:CGContextSetLineWidth(ctx, 20);
  設置線段的連接樣式: CGContextSetLineJoin(ctx, kCGLineJoinRound);
  添加頂角樣式:CGContextSetLineCap(ctx, kCGLineCaPRound);
  設置線的顏色: [[UIColor redColor] setStroke];

5.如何畫曲線?
  畫曲線方法比較特殊需要一個控制點來決定曲線的彎曲程度.畫曲線方法為:
  先設置一個曲線的起點
  [path moveToPoint:CGPointMake(10, 125)];
  再添加到個點到曲線的終點.同時還須要一個controlPoint(控件點決定曲線彎曲的方法程序)
  [path addQuadCurveToPoint:CGPointMake(240, 125) controlPoint:CGPointMake(125, 10)];

6.如何畫矩形,圓角矩形?
  畫矩形直接利用UIBezierPath給我們封裝好的路徑方法
  (x,y)點決定了矩形左上角的點在哪個位置
  (width,height)是矩形的寬度高度
  bezierPathWithOvalInRect:CGRectMake(x, y, width, height)

  圓角矩形的畫法多了一個參數,cornerRadius
  cornerRadius它是矩形的圓角半徑.
  通過圓角矩形可以畫一個圓.當矩形是正方形的時候,把圓角半徑設為寬度的一半,就是一個圓.
  bezierPathWithRoundedRect:CGRectMake(10, 100, 50, 50) cornerRadius:10

7.如果畫橢圓,圓?
  畫橢圓的方法為:
  前兩個參數分別代碼圓的圓心,后面兩個參數分別代表圓的寬度,與高度.
  寬高都相等時,畫的是一個正圓, 不相等時畫的是一個橢圓
  bezierPathWithOvalInRect:CGRectMake(10, 100, 50, 50)

8.如何利用UIKit封裝的上下文進行畫圖?
  直接來個:[path stroke]就可以了.
  它底層的實現,就是獲取上下文,拼接路徑,把路徑添加到上下文,渲染到View

9.如何畫圓弧?
  首先要確定圓才能確定圓弧,圓孤它就圓上的一個角度嘛

  Center:圓心
  radius:圓的半徑
  startAngle:起始角度
  endAngle:終點角度
  clockwise:Yes順時針,No逆時針

  注意:startAngle角度的位置是從圓的最右側為0度.

  UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(125, 125)
  radius:100 
  startAngle:0 
  endAngle:M_PI * 2 
  clockwise:YES];


10.如果畫扇形.
  畫扇形的方法為:先畫一個圓孤再添加一個一根線到圓心,然后關閉路徑.
  關閉路徑就會自動從路徑的終點到路徑的起點封閉起下
  用填充的話,它會默認做一個封閉路徑,從路徑的終點到起點. 
  關閉路徑,
  [path closePath];
  [path fill];


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 腾冲县| 耿马| 青铜峡市| 金川县| 长兴县| 图木舒克市| 依安县| 若尔盖县| 莱州市| 浦东新区| 会宁县| 安丘市| 克山县| 阜宁县| 三门县| 扶余县| 固阳县| 海晏县| 台南县| 迁西县| 鄯善县| 鄄城县| 安塞县| 拜城县| 高州市| 清徐县| 谢通门县| 柳林县| 衡阳县| 和顺县| 东乡县| 邵阳市| 增城市| 贵港市| 徐闻县| 彩票| 襄城县| 古交市| 莒南县| 石河子市| 虞城县|