美文网首页iOS
图片水印(Quartz2D)

图片水印(Quartz2D)

作者: iOS_成才录 | 来源:发表于2015-11-12 19:23 被阅读141次

一、水印

+  在图片上加的防止他人盗图的半透明logo、文字、图标

二、如何实现在图片上加水印

    1. 开启位图上下文

UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);


- 2.绘制图片与文字

- 3.利用一个函数,从上下文中获取一张图片
```objc
 // 从上下文内容中生成一张图片
    image = UIGraphicsGetImageFromCurrentImageContext();
  • 4.关闭位图上下文,有开启就要有关闭
    // 结束上下文
      UIGraphicsEndImageContext();
    

- 5.注意:可以将图片转为二进制NSData,然后将其写到本地桌面

```objc
    NSData *data = UIImageJPEGRepresentation(image, 0.00001);
    [data writeToFile:@"/Users/cjp/Desktop/image.jpg" atomically:YES];

三、具体代码实现
#import "ViewController.h"

    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        // 给一张图片添加文字或者Logo,生成一张新的带有文字或者Logo图片
        
        // 绘制图片到位图上下文,然后再利用位图上下文生成一张新的图片
        
        // 加载图片
        UIImage *image = [UIImage imageNamed:@"小黄人"];
        
        // 1.开启位图上下文
        // size:上下文的尺寸
        // opaque:不透明,总结:在上下文中一般都是设置不透明度,控件才是设置透明度
        // scale: 0表示不缩放
        UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);
        
        // 绘制图片
        [image drawAtPoint:CGPointZero];
        
        // 绘制文字
        NSString *str = @"小黄人";
        [str drawAtPoint:CGPointZerowithAttributes:@{NSForegroundColorAttributeName : [UIColor redColor]}];
        
        // 从上下文内容中生成一张图片
        image = UIGraphicsGetImageFromCurrentImageContext();
        
        // 结束上下文
        UIGraphicsEndImageContext();
        
        // 把图片写入到桌面
        
        // image -> NSData
        // 把图片生成一个png格式的二进制数据
        // png已经高清图片格式
    //    NSData *data = UIImagePNGRepresentation(image);
        // compressionQuality:图片质量
        
        NSData *data = UIImageJPEGRepresentation(image, 0.00001);
        [data writeToFile:@"/Users/cjp/Desktop/image.jpg" atomically:YES];
    }
    @end

相关文章

  • iOS Quartz2D的使用(绘制图形)

    最近在自己的项目中需要对拍照的图片加上水印效果,使用到了Quartz2D 什么是Quartz2D? Quartz2...

  • 图片水印(Quartz2D)

    一、水印 二、如何实现在图片上加水印 开启位图上下文 UIGraphicsBeginImageContextWit...

  • Quartz2D之图片水印

    添加水印 在开发中如果是需要用到很多图片的:比如微博,上传的图片都会在右下角添加水印 水印有可能是文字,也有可能是...

  • 水印

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

  • iOS给图片添加文字水印和图片水印

    加水印的方式有很多,比如给图片添加图片水印、文字水印,或者给视频添加图片水印、文字水印。本文首先讲解如何给图片添加...

  • 图片添加二维码水印教程

    本博客介绍一下用jdk awt实现图片加文字水印和图片水印的方法 一、图片文字水印 原来图片 加上文字水印后图片 ...

  • 带你玩转七牛云存储——高级篇

    七牛云图片存储优点 支持各种尺寸的图片缩放; 支持图片自动压缩; 支持水印添加:图片水印、文字水印两种模式; 图片...

  • Android 上传图片添加水印功能

    近期项目中有给上传的图片添加水印功能,如下图所示 水印图片如下 项目中用到的是的水印覆盖到全部图片的效果,对水印图...

  • 16/100 如何制作全屏水印

    工具:水印相机 步骤:图片——水印——选择全屏水印——调整透明度

  • 利用ImageMagick给图片加水印

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

网友评论

    本文标题:图片水印(Quartz2D)

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