iOS中制作一张水印图片

作者: 李小南 | 来源:发表于2016-02-27 23:08 被阅读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];

    相关文章

      网友评论

      本文标题:iOS中制作一张水印图片

      本文链接:https://www.haomeiwen.com/subject/hhubkttx.html