Quartz2D之绘制图片和文字

绘制文字和图片

绘制文字
  • 根据需要给富文本设置很多属性
    NSString *str = @"asfdsfsdf";

    // Attributes:文本属性
    NSMutableDictionary *textDict = [NSMutableDictionary dictionary];
    // 设置文字颜色
    textDict[NSForegroundColorAttributeName] = [UIColor redColor];
    // 设置文字字体
    textDict[NSFontAttributeName] = [UIFont systemFontOfSize:30];
    // 设置文字的空心颜色和宽度
    textDict[NSStrokeWidthAttributeName] = @3;
    textDict[NSStrokeColorAttributeName] = [UIColor yellowColor];
    // 创建阴影对象
    NSShadow *shadow = [[NSShadow alloc] init];
    shadow.shadowColor = [UIColor greenColor];
    shadow.shadowOffset = CGSizeMake(4, 4);
    shadow.shadowBlurRadius = 3;
    textDict[NSShadowAttributeName] = shadow;

    // 绘制,不会换行
    [str drawAtPoint:CGPointZero withAttributes:textDict];
    // 会换行
    [str drawInRect:rect withAttributes:textDict];
绘制图片
    //设置裁剪区域,一旦设置了裁剪区域,“再”绘制的图像,就仅能显示裁剪区域范围内的内容
    //需要注意的是,设置了裁剪区域之后,在绘图,否则裁剪区域无效
    UIRectClip(CGRectMake(0, 0, 50, 50));

    UIImage *image = [UIImage imageNamed:@"阿狸头像"];

    // 默认绘制的内容尺寸跟图片尺寸一样大
    [image drawAtPoint:CGPointZero];

    // 绘制图像在对应的尺寸内,会拉伸或压缩图片大小
    [image drawInRect:rect];

    // 绘图图像,平铺,按照图片原尺寸绘制
    [image drawAsPatternInRect:rect];

你可能感兴趣的:(Quartz2D之绘制图片和文字)