扇形
1获取上下文,2设置线得宽度,3给出圆的中点,半径,起始角度,和最终角度,顺逆时针方向,4在给出中点,5闭合(6可以设置颜色填充,根据需要),以上步骤可以完成扇形的图形;
曲线
1获取上下文,2设置线得宽度,3给出起始点,4给出结束点(获取上下文,第一个位置的弯曲点, 第一个位置的弯曲度, 第二个位置的弯曲点, 第二个位置的弯曲度,, 终点的x坐标, 终点的y坐标)5渲染;
渐变
-(void)drawcolor
{ //获取上下文
CGContextRef a = UIGraphicsGetCurrentContext();
//给出颜色和空间
CGColorSpaceRef rgb= CGColorSpaceCreateDeviceRGB();
CGFloat colors[]={
204.0 / 255.0, 254.0 / 255.0, 274.0 / 295.0, 1.00,
29.0 / 255.0, 156.0 / 255.0, 215.0 / 255.0, 1.00,
0.0 / 255.0, 50.0 / 255.0, 126.0 / 255.0, 1.00,
};
//创建彩色花园
CGGradientRef gradient = CGGradientCreateWithColorComponents
(rgb, colors, NULL, sizeof(colors)/(sizeof(colors[0])*4));
//色彩空间释放
CGColorSpaceRelease(rgb);
//绘制线性梯度
CGContextDrawLinearGradient(a, gradient,CGPointMake(0.0,0.0) ,CGPointMake(0.0,self.frame.size.height),kCGGradientDrawsBeforeStartLocation);
}
通过控件slider画圆
关键点,将控件与圆弧度的进度联系起来,利用值将其连接,首先设置slider的最大最小值,将其与云的弧度建立联系,可以利用NSuerdefaults,
// 使用NSUserDefaults 去存值,取值
{ NSUserDefaults *user = [NSUserDefaults standardUserDefaults];
//由于需要slider控件去控制,所以M_PI*[str doubleValue]值需要根据控件的滑动而变化;
NSString *str = [user valueForKey:@"value"];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextAddArc(context, 180, 200, 90, 0, M_PI*[str doubleValue],0);
CGContextSetLineWidth(context, 4);
[[UIColor yellowColor] set];
CGContextStrokePath(context);
}
以上是一部分代码如有需要了解的可私聊,留言即可;