iOS开发之Quartz 2D实现图片加水印效果
·
现在有两张图片,如下:
+
如何为上面这张图片打上 CSDN 的logo图片呢?实现如下效果:
废话少说,上代码:
/* 为一张图片打上水印 */
// 参数说明
// baName : 背景图片名称
// logoName : logo图片名称
+ (instancetype)waterImageWithBg:(NSString *)bgName logo:(NSString *)logoName
{
UIImage *bgImage = [UIImage imageNamed:bgName];
// 创建并开启一个基于位图的上下文
UIGraphicsBeginImageContextWithOptions(bgImage.size, NO, 0.0);
// 画背景
[bgImage drawInRect:CGRectMake(0, 0, bgImage.size.width, bgImage.size.height)];
// 画左下角的水印
UIImage *logoImage = [UIImage imageNamed:logoName];
CGFloat scale = 0.5;
CGFloat margin = 10;
CGFloat logoW = logoImage.size.width * scale;
CGFloat logoH = logoImage.size.height * scale;
CGFloat logoX = bgImage.size.width - logoW - margin;
CGFloat logoY = bgImage.size.height - logoH - margin;
[logoImage drawInRect:CGRectMake(logoX, logoY, logoW, logoH)];
// 从上下文中取得制作完毕的UIImage对象
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
// 结束上下文
UIGraphicsEndImageContext();
return newImage;
}
总结:同样的,我们可以将其分装到UIImage的category中,方便项目中的调用:-D
更多推荐


所有评论(0)