| // | 
| //  JHChart.m | 
| //  JHChartDemo | 
| // | 
| //  Created by cjatech-简豪 on 16/4/10. | 
| //  Copyright © 2016年 JH. All rights reserved. | 
| // | 
|   | 
| #import "JHChart.h" | 
| @interface JHChart() | 
|   | 
|   | 
|   | 
| @end | 
| @implementation JHChart | 
|   | 
| /* | 
| // Only override drawRect: if you perform custom drawing. | 
| // An empty implementation adversely affects performance during animation. | 
| - (void)drawRect:(CGRect)rect { | 
|     // Drawing code | 
| } | 
| */ | 
|   | 
| -(void)showAnimation{ | 
|      | 
| } | 
|   | 
|   | 
| -(void)clear{ | 
|      | 
| } | 
|   | 
|   | 
| /** | 
|  *  绘制线段 | 
|  * | 
|  *  @param context  图形绘制上下文 | 
|  *  @param start    起点 | 
|  *  @param end      终点 | 
|  *  @param isDotted 是否是虚线 | 
|  *  @param color    线段颜色 | 
|  */ | 
| - (void)drawLineWithContext:(CGContextRef )context andStarPoint:(CGPoint )start andEndPoint:(CGPoint)end andIsDottedLine:(BOOL)isDotted andColor:(UIColor *)color{ | 
|      | 
|      | 
|     //    移动到点 | 
|     CGContextMoveToPoint(context, start.x, start.y); | 
|     //    连接到 | 
|     CGContextAddLineToPoint(context, end.x, end.y); | 
|      | 
|      | 
|     CGContextSetLineWidth(context, 0.5); | 
|      | 
|      | 
|     [color setStroke]; | 
|      | 
|     if (isDotted) { | 
|         CGFloat ss[] = {0.5,2}; | 
|          | 
|         CGContextSetLineDash(context, 0, ss, 2); | 
|     } | 
|     CGContextMoveToPoint(context, end.x, end.y); | 
|      | 
|     CGContextDrawPath(context, kCGPathFillStroke); | 
| } | 
|   | 
|   | 
| /** | 
|  *  绘制文字 | 
|  * | 
|  *  @param text    文字内容 | 
|  *  @param context 图形绘制上下文 | 
|  *  @param rect    绘制点 | 
|  *  @param color   绘制颜色 | 
|  */ | 
| - (void)drawText:(NSString *)text andContext:(CGContextRef )context atPoint:(CGPoint )rect WithColor:(UIColor *)color andFontSize:(CGFloat)fontSize{ | 
|   | 
|   | 
|     [[NSString stringWithFormat:@"%@",text] drawAtPoint:rect withAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:fontSize],NSForegroundColorAttributeName:color}]; | 
|   | 
|     [color setFill]; | 
|   | 
|     CGContextDrawPath(context, kCGPathFill); | 
|   | 
| } | 
|   | 
|   | 
| - (void)drawText:(NSString *)text context:(CGContextRef )context atPoint:(CGRect )rect WithColor:(UIColor *)color font:(UIFont*)font{ | 
|      | 
|      | 
| //    [[NSString stringWithFormat:@"%@",text] drawAtPoint:rect withAttributes:@{NSFontAttributeName:font,NSForegroundColorAttributeName:color}]; | 
|      | 
|     [[NSString stringWithFormat:@"%@",text] drawInRect:rect withAttributes:@{NSFontAttributeName:font,NSForegroundColorAttributeName:color}]; | 
|      | 
|     [color setFill]; | 
|   | 
|      | 
|     CGContextDrawPath(context, kCGPathFill); | 
|      | 
| } | 
| /** | 
|  *  判断文本宽度 | 
|  * | 
|  *  @param text 文本内容 | 
|  * | 
|  *  @return 文本宽度 | 
|  */ | 
| - (CGFloat)getTextWithWhenDrawWithText:(NSString *)text{ | 
|      | 
|     CGSize size = [[NSString stringWithFormat:@"%@",text] boundingRectWithSize:CGSizeMake(100, 15) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:7]} context:nil].size; | 
|      | 
|     return size.width; | 
| } | 
|   | 
|   | 
| /** | 
|  *  绘制长方形 | 
|  * | 
|  *  @param color  填充颜色 | 
|  *  @param p      开始点 | 
|  *  @param contex 图形上下文 | 
|  */ | 
| - (void)drawQuartWithColor:(UIColor *)color andBeginPoint:(CGPoint)p andContext:(CGContextRef)contex{ | 
|      | 
|     CGContextAddRect(contex, CGRectMake(p.x, p.y, 10, 10)); | 
|     [color setFill]; | 
|     [color setStroke]; | 
|     CGContextDrawPath(contex, kCGPathFillStroke); | 
|      | 
|      | 
| } | 
|   | 
|   | 
| - (void)drawPointWithRedius:(CGFloat)redius andColor:(UIColor *)color andPoint:(CGPoint)p andContext:(CGContextRef)contex{ | 
|      | 
|     CGContextAddArc(contex, p.x, p.y, redius, 0, M_PI * 2, YES); | 
|     [color setFill]; | 
|     CGContextDrawPath(contex, kCGPathFill); | 
|      | 
| } | 
|   | 
| /** | 
|  *  返回字符串的占用尺寸 | 
|  * | 
|  *  @param maxSize   最大尺寸 | 
|  *  @param fontSize  字号大小 | 
|  *  @param aimString 目标字符串 | 
|  * | 
|  *  @return 占用尺寸 | 
|  */ | 
| - (CGSize)sizeOfStringWithMaxSize:(CGSize)maxSize textFont:(CGFloat)fontSize aimString:(NSString *)aimString{ | 
|      | 
|      | 
|     return [aimString boundingRectWithSize:maxSize options:NSStringDrawingUsesFontLeading|NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingTruncatesLastVisibleLine attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:fontSize]} context:nil].size; | 
|      | 
| } | 
|   | 
| @end |