实现倾斜文字水印背景

  早上群里有人问:斜体文字水印背景,文字不肯定的怎么作。恰好前段时间作过,特此分享下并记录。spa

  其主要原理是利用UIColor类的一个方法:把图片变成颜色。code

[[UIColor alloc] initWithPatternImage:xxxxx];

该方法会把图片平铺变成一个颜色实体。orm

  代码产生一张倾斜文字图片:blog

- (UIImage *)imageWithText:(NSString *)text{
    
    /**
     这里之因此外面再放一个UIView,是由于直接用label画图的话,旋转就不起做用了
     */
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
    view.backgroundColor = [UIColor clearColor];
    
    UILabel *label = [[UILabel alloc] initWithFrame:view.bounds];
    label.backgroundColor = [UIColor clearColor];
    label.textColor = [UIColor orangeColor];
    label.text = text;
    label.transform = CGAffineTransformMakeRotation(-M_PI/4.0);
    [view addSubview:label];
    
    
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, [UIScreen mainScreen].scale);
    [view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *image=UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    
    return image;
}

  好了,能够用了:view.backgroundColor = [[UIColor alloc] initWithPatternImage:[self imageWithText:@"文字倾斜"]];图片

  效果图:it

      

相关文章
相关标签/搜索