8-2 我不愿意成为你退而求其次的人
绘制一个相交直线,交界处设置为圆角;绘制一个圆角矩形边框;绘制一个填充矩形;绘制一个椭圆边框;绘制一个填充椭圆。
const CGPoint points1[] =
{CGPointMake(10 , 40), CGPointMake(100 , 40), CGPointMake(100 , 40) , CGPointMake(20, 70)};
// 使用points1绘制一个相交直线,交界处设置为圆角;
CGContextRef ref = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(ref, 10);
CGContextSetStrokeColorWithColor(ref, [UIColor purpleColor].CGColor);
CGContextSetLineCap(ref, kCGLineCapRound);
CGContextStrokeLineSegments(ref, points1, 4);
// 绘制一个圆角矩形边框;
CGContextRef ref2 = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(ref2, 10);
CGContextSetStrokeColorWithColor(ref2, [UIColor purpleColor].CGColor);
CGContextSetLineJoin(ref2, kCGLineJoinRound);
CGContextStrokeRect(ref2, CGRectMake(30, 130, 100, 100));
// 绘制一个填充矩形;
CGContextRef ref3 = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(ref2, 10);
CGContextSetFillColorWithColor(ref3, [UIColor purpleColor].CGColor);
CGContextFillRect(ref3, CGRectMake(30, 250, 100, 50));
// 绘制一个椭圆边框;
CGContextRef ref4 = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(ref4, 10);
CGContextSetStrokeColorWithColor(ref4, [UIColor purpleColor].CGColor);
CGContextStrokeEllipseInRect(ref4, CGRectMake(30, 350, 100, 30));
// 绘制一个填充椭圆。(填充和边框颜色都使用方法...ColorWithColor()设置为紫色)
CGContextRef ref5 = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(ref5, 10);
CGContextSetFillColorWithColor(ref5, [UIColor purpleColor].CGColor);
CGContextFillEllipseInRect(ref5, CGRectMake(30, 450, 100, 30));
点线模式,绘制虚线的直线 矩形 圆
// 获取当前绘图上下文
CGContextRef ref = UIGraphicsGetCurrentContext();
// 设置rgb颜色
CGContextSetRGBStrokeColor(ref, 1.0, 0, 1.0, 1);
// 绘制线条宽度
CGContextSetLineWidth(ref, 2);
// 设置数组,先绘制30个点,跳过30个点,以此类推
CGFloat dashLengths[] = {30, 30};
// 设置为点线模式,2为dashLengths的个数
CGContextSetLineDash(ref, 0.0, dashLengths, 2);
CGPoint line1[] = {CGPointMake(10, 20),CGPointMake(360, 20)};
CGContextStrokeLineSegments(ref, line1, 2);
CGContextStrokeRect(ref, CGRectMake(50, 50, 100, 100));
CGContextStrokeEllipseInRect(ref, CGRectMake(50, 200, 100, 50));
绘制文本
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetCharacterSpacing (context, 4);
CGContextSetRGBFillColor (context, 1, 0, 1, 1);
CGContextSetRGBStrokeColor (context, 0, 0, 1, 1);
CGContextSetTextDrawingMode (context, kCGTextFill);
NSDictionary *attribute = @{NSFontAttributeName:[UIFont fontWithName:@"Heiti SC" size: 35],
NSForegroundColorAttributeName:[UIColor blueColor]};
NSString *str1 = @"猿圈";
NSString *str2 = @"猿圈-程序员的刷题神器";
[str1 drawAtPoint:CGPointMake(10, 20) withAttributes:attribute];
// 设置模式为描边模式kCGTextStroke
CGContextSetTextDrawingMode(context, kCGTextStroke);
[str2 drawAtPoint:CGPointMake(10, 50) withAttributes:attribute];
// 设置描边填充模式绘制文本
CGContextSetTextDrawingMode(context, kCGTextFillStroke);
[str2 drawAtPoint:CGPointMake(10, 100) withAttributes:attribute];