ios 用程序绘制饼图的demo(5)

来源:未知 责任编辑:责任编辑 发表时间:2015-03-01 01:33 点击:

  //float starty1 = stary + spaceHeight;
  float endy1 = endy + spaceHeight;
  
  
  if(endAngle < K_PI)
  {
  }
  
  //只有弧度《 3.14 的才会画前面的厚度
  else if(startAngle < K_PI)
  {
   endAngle = K_PI;
   endx = 10;
   endy1 = 230+spaceHeight;
  }
  
  else
   break;
  
  
  //CGContextSetBlendMode(context, kCGBlendModeMultiply);
  
  
  //绘制厚度
  CGMutablePathRef path = CGPathCreateMutable();
  CGPathMoveToPoint(path, nil, starx, stary);
  CGPathAddArc(path, nil, 160, 230, 150, startAngle, endAngle, 0);
  CGPathAddLineToPoint(path, nil, endx, endy1);
  
  CGPathAddArc(path, nil, 160, 230 + spaceHeight, 150, endAngle, startAngle, 1);
  CGContextAddPath(context, path);
  
  [[colorArr objectAtIndex:i %  [valueArr count]] setFill];
  [[UIColor colorWithWhite:0.9 alpha:1.0] setStroke];
  
  CGContextDrawPath(context, kCGPathFill);
  
  [[UIColor colorWithWhite:0.1 alpha:0.4] setFill];
  CGContextAddPath(context, path);
  CGContextDrawPath(context, kCGPathFill);   
  

 }
 
  
 //整体渐变
 CGFloat componets [] = {0.0, 0.0, 0.0, 0.5,0.0,0.0,0.0,0.1};
 
 CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
 
 CGGradientRef gradient = CGGradientCreateWithColorComponents(colorspace, componets, nil, 2);
 
 CGContextDrawRadialGradient(context, gradient, CGPointMake(160,230), 0, CGPointMake(160,230), 150, 0 );
 
 CFRelease(colorspace);
 CGGradientRelease(gradient);
 
 
 CGContextRestoreGState(context);
 
 //绘制文字
 
 for(int i = 0; i< [valueArr count]; i++)
 {
  float origionx = 50 ;
  float origiony = i * 30 + 200;
  
  [[colorArr objectAtIndex:i %  [valueArr count]] setFill];
  
  CGContextFillRect(context, CGRectMake(origionx, origiony, 20, 20));
  CGContextDrawPath(context, kCGPathFill);
  
  
  if(i< [titleArr count])
  {
   NSString *title = [ titleArr objectAtIndex:i];
   [title drawAtPoint:CGPointMake(origionx + 50, origiony) withFont:[UIFont systemFontOfSize:16]];

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Lexical or Preprocessor Issue 'xxx.h
  • ios学习笔记(二)xcode 4.3.2下实现基本交互
  • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
  • UITableView一些方法
  • ios版本的helloworld
  • 如何为Iphone应用创建启动界面
  • 去掉屏幕键盘的方法
  • iPhone SDK开发:本地文本文件内容的读取
  • IOS类似iphone通讯录TableView的完整demo【附源码】
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索 - 移动版 - 返回顶部
Copyright © 2008-2013 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1