加水印

复制代码
- (void)viewDidLoad { [super viewDidLoad]; UIImage *image = [self drawImageAtImageContext]; UIImageView *imageView = [[UIImageView alloc]initWithImage:image]; imageView.center = CGPointMake(160, 282); [self.view addSubview:imageView]; } //添加水印 -(UIImage *)drawImageAtImageContext{ //得到一个位图图形上下文 CGSize size = CGSizeMake(300, 188);//画布大小  UIGraphicsBeginImageContext(size); UIImage *image = [UIImage imageNamed:@"frame_shop_lovely_bg@2x.jpg"]; //注意绘图的位置是相对于画布顶点而言,不是屏幕 [image drawInRect:CGRectMake(0, 0, 300, 188)]; //添加水印 CGContextRef ref = UIGraphicsGetCurrentContext(); //字符的长度和 font UIFont *font = [UIFont systemFontOfSize:15]; NSString *str = @"大金毛"; int strLength = str.length *font.pointSize; //两点肯定一条直线 //下划线的长度等于字符长度 CGContextMoveToPoint(ref, 200, 178); CGContextAddLineToPoint(ref, strLength + 200, 178); //直线的颜色、宽度  [[UIColor redColor]setStroke]; CGContextSetLineWidth(ref, 2); //绘制图像到指定图形上下文,只有边框 CGContextDrawPath(ref, kCGPathStroke); //字符的位置 [str drawInRect:CGRectMake(200, 158, 100, 30) withAttributes:@{NSFontAttributeName:font,NSForegroundColorAttributeName:[UIColor redColor]}]; //返回绘制的新图形 UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); //最后必定不要忘了关闭上下文  UIGraphicsEndImageContext(); return newImage; }
相关文章
相关标签/搜索