iOSios高级UIiOS 开发每天分享优质文章

iOS中制作一张水印图片

2016-02-27  本文已影响698人  李小南

如果这篇文章帮助到了您,希望您能点击一下喜欢或者评论,你们的支持是我前进的强大动力.谢谢!

我们在很多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];

上一篇 下一篇

猜你喜欢

热点阅读