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 自己水印图片

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