iOS-图片水印效果
这次只是一个图片水印效果的小案例,不废话,直接看代码:
1.Logo图片水印(就是在一个背景图片上水印上一张logo图片)
- (void)viewDidLoad { [super viewDidLoad]; // 0. 加载背景图片 UIImage *image = [UIImage imageNamed:@"bj"]; // 1.创建bitmap上下文 // 执行完这一行在内存中就相遇创建了一个UIImage UIGraphicsBeginImageContextWithOptions(image.size, NO, 0); // 2.绘图图片 // 绘制背景图片 [image drawAtPoint:CGPointMake(0, 0)]; // 3.绘制水印Logo UIImage *logImage = [UIImage imageNamed:@"logo"]; CGFloat margin = 10; CGFloat logY = margin; CGFloat logX = image.size.width - margin - logImage.size.width; [logImage drawAtPoint:CGPointMake(logX, logY)]; // 4.获得图片 UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); // 5.将图片写到文件中 NSString *path = @"/Users/apple/Desktop/abc.png"; NSData *data = UIImagePNGRepresentation(newImage); [data writeToFile:path atomically:YES]; }
效果:
2.文字水印
- (void)viewDidLoad { [super viewDidLoad]; // 0. 加载背景图片 UIImage *image = [UIImage imageNamed:@"psb"]; // 1.创建bitmap上下文 // 执行完这一行在内存中就相遇创建了一个UIImage UIGraphicsBeginImageContextWithOptions(image.size, NO, 0); // 2.绘图图片 // 2.1绘制背景图片 [image drawAtPoint:CGPointMake(0, 0)]; // 3绘制文字水印 NSString *str = @"中国老板"; [str drawAtPoint:CGPointMake(20, 80) withAttributes:nil]; // 4.获得bitmap上下文中绘制号的图片 UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); // 5.将图片写到文件中 NSString *path = @"/Users/wangxd/Desktop/abc.png"; NSData *data = UIImagePNGRepresentation(newImage); [data writeToFile:path atomically:YES]; }
如图: