//1. 加载原图
UIImage *image = [UIImage imageNamed:@"watermark"];
//2. 创建一个和原图一样大小的图片的图形上下文
UIGraphicsBeginImageContextWithOptions(image.size, NO, 0.0);
//3. 把原图绘制到图片的图形上下文中
[image drawAtPoint:CGPointZero];
//4. 加载水印图片 绘制水印图片/(绘制水印文字)
//绘制水印文字
NSString *str = @"cai-waterMark";
NSDictionary *attributes = @{NSFontAttributeName : [UIFont systemFontOfSize:12]};
[str drawAtPoint:CGPointMake(30, 30) withAttributes:attributes];
//绘制图片水印
//加载一个水印图片
UIImage *waterImage = [UIImage imageNamed:@"water"];
//绘制到上下文中
[waterImage drawAtPoint:CGPointMake(200, 30)];
//5. 从图片的图形上下文中获取绘制好的图片
UIImage *waterMarkImg = UIGraphicsGetImageFromCurrentImageContext();
//6. 关闭刚才创建的图形上下文
UIGraphicsEndImageContext();
//显示
self.imgView.image = waterMarkImg;
//7. 保存图片
//获取沙盒路径
NSString *docu = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *fileName = [docu stringByAppendingPathComponent:@"waterMark.png"];
//把图片转换为NSData
NSData *data = UIImagePNGRepresentation(waterMarkImg);
//把NSData保存到文件中
[data writeToFile:fileName atomically:YES];
Simulator Screen Shot - iPhone 8 - 2019-01-23 at 15.37.34.png