zoukankan      html  css  js  c++  java
  • UIBezierPath画圆弧的记录

    UIBezierPath通过

    - (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise

    可以画出一段弧线。

    看下各个参数的意义:

    center:圆心的坐标

    radius:半径

    startAngle:起始的弧度

    endAngle:圆弧结束的弧度

    clockwise:YES为顺时针,No为逆时针

    方法里面主要是理解startAngle与endAngle,刚开始我搞不清楚一段圆弧从哪算起始和终止,比如弧度为0的话,是从上下左右哪个点开始算

    看了下面这张图就明了了

    看出0Pi就是指圆最右边开始计算的,顺时针依次为M_PI/2,M_PI,M_PI*1.5

    明白这个,用BezierPath画圆弧就简单了

    比如要画上图加粗的那段就是:

    [html] view plain copy
     在CODE上查看代码片派生到我的代码片
    1. UIBezierPath *path = [[UIBezierPath alloc] init];    
    2. [path addArcWithCenter:center    
    3.                 radius:radius    
    4.             startAngle:M_PI*1.1    
    5.               endAngle:M_PI*1.9    
    6.              clockwise:YES];  
  • 相关阅读:
    waitkey();
    一、数组--删除排序数组中的重复项
    core组件进阶
    opencv数据结构与基本绘图
    highGUI图形用户界面
    合并两个有序链表
    字符串
    内存
    9位运算
    8设备文件
  • 原文地址:https://www.cnblogs.com/wanghuaijun/p/5430634.html
Copyright © 2011-2022 走看看