// // 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