iOS 自己水印图片

作者: 后浪普拉斯 | 来源:发表于2018-05-04 16:35 被阅读29次

1、创建一个背景图片UIImage对象

UIImage *bgImage = [UIImage imageNamed:@"bgImage"];

2、创建位图上下文

UIGraphicsBeginImageContextWithOptions(size,opaque,scale);
size:图片大小
opaque:YES 不透明, NO 透明
scale:获取生成图片的大小 图片大小:2020 生成图片大小是:(20scale20scale

3、将背景图片添加到位图上,调用drawInRect:方法

4、创建水印image对象,调用drawInRect:方法,将其添加到位图上下文中

5、从位图上下文中获取合成的新图片,并显示在控制器的imageView上,获取位图上下文中合成的新图片的方法UIGraphicsGetImageFromCurrentImageContext()

6、结束位图编辑,调用UIGraphicsEndImageContext()结束编辑

7、将合成的图片保存

将图片转换成NSData,再调用NSData的write方法。
其中,UIImage转换成NSData的方法有两个:
UIImagePNGRepresentation()和UIImageJPEGRepresentation()

部分代码:

    UIImage *bgImage = [UIImage imageNamed:@"bgImage"];
    //获取UIImage对象,显示到imageView上
    //创建位图,开启图片
    //size 位图大小
    //opaque alpha YES 不透明, NO透明
    //scale 获取生成图片大小 位图大小:20*20 生成图片大小是:(20*scale*20*scale)
    UIGraphicsBeginImageContextWithOptions(bgImage.size, NO, 4);
    
    [bgImage drawInRect:CGRectMake(0, 0, bgImage.size.width, bgImage.size.width)];
    
    UIImage *waterImage = [UIImage imageNamed:@"header"];
    [waterImage drawInRect:CGRectMake(bgImage.size.width - 60, bgImage.size.height - 60, 60, 60)];
    //从当前位图获取当前编辑的图片
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    
    //结束当前编辑
    UIGraphicsEndImageContext();
    
    self.imageView.image = newImage;
    
    // 将Image保存成一张png
    // 将UIImage转成NSData对象,NSData有个write方法可以保存图片
    NSData *iamgeData = UIImagePNGRepresentation(newImage);
    [iamgeData writeToFile:@"/Users/apple/Desktop/new.png" atomically:YES];
    
    // 保存jpg
    //compressionQuality 压缩质量 值的范围(0-1)
    // 100KB * 0.7 = 70KB
    NSData *imageData = UIImageJPEGRepresentation(newImage, 0.7);
    [imageData writeToFile:@"/Users/apple/Desktop/new1.jpg" atomically:YES];

相关文章

  • iOS 自己水印图片

    1、创建一个背景图片UIImage对象 2、创建位图上下文 UIGraphicsBeginImageContext...

  • iOS如何给图片加水印

    想要给图片加水印其实很简单.只需要如下代码便可轻松搞定。 /**iOS图片加水印 @param useImage ...

  • 图片水印 iOS

    不多说了,直接贴代码吧 - (void)viewDidLoad { [superviewDidLoad]; UII...

  • iOS 图片水印

  • 水印

    图片水印文字 图片水印图片

  • 利用ImageMagick给图片加水印

    利用ImageMagick给图片加水印 水印可能是文字,也可能是网站的logo等。图片水印比较简单,就是把自己水印...

  • iOS图片添加水印

    iOS添加水印的方法有很多,常用的做法就是直接将水印绘制到图片上。这种方式的缺陷是:如果绘制水印的地方不是纯色,就...

  • js中图片加水印的方法

    因为项目中需要给图片加水印,但是原生实现其他需要安卓和ios两端进行开发,成本有些大,最终选择阿里云的图片加水印方...

  • iOS | 图片打水印

    这个功能前前后后很多细节,也饶了很多弯路,最后核心功能总结如下。 一、添加图片水印(如添加公司logo) 也就是将...

  • iOS图片加水印

    在一些应用如微博中,为了防止用户图片被盗用,一般会在图片上加上水印,接下来就给大家分享一个iOS中给图片加水印的简...

网友评论

本文标题:iOS 自己水印图片

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