如果这篇文章帮助到了您,希望您能点击一下喜欢或者评论,你们的支持是我前进的强大动力.谢谢!
我们在很多APP中都会看到水印图片,例如下面微博中的一张图片
下面就来分享一下怎么制作一张水印图片吧
首先生成水印图片它最终是生成了一个新的图片,生成图片要用到了位图上下文,但是位图上下文需要我们手动创建。
实现水印效果的思路:
1.开启一个和原始图片一样的位图上下文.
2.把原始图片先绘制到位图上下文.
3.再把要添加的水印(文字,logo)等绘制到位图上下文.
4.最后从上下文中取出一张图片.
5.关闭位图上下文.
加载要添加水印的图片
UIImage *image = [UIImage imageNamed:@"图片"];
创建一个位图上下文.
参数size:要开启一个多大的图片上下文.
参数opaque:不透明度,当为YES为不透明,为NO的时候透明,
参数scale:是否需要缩放,0代表不缩放
UIGraphicsBeginImageContextWithOptions(image.size, YES, 0);
把要添加水印的图片绘制到上下文当中.
[image drawAtPoint:CGPointZero];
绘制水印(logo)
NSString *str = @"李小南";
[str drawAtPoint:CGPointMake(50, 100) withAttributes:@{NSFontAttributeName : [UIFont systemFontOfSize:20], NSForegroundColorAttributeName : [UIColor orangeColor]}];
从上下文当中生成一张新图片.
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
关闭上下文.
UIGraphicsEndImageContext();
这样,新的带有水印的图片就做好了,我可以将它写到桌面
NSData *data = UIImagePNGRepresentation(image);
[data writeToFile:@"/Users/lixiaonan/Desktop/李小南.png" atomically:YES];