- (void)WaterImage
{
    UIImage *bgImage = [UIImage imageNamed:@"scene"];
    
    // 上下文 : 基于位图(bitmap) ,  所有的东西需要绘制到一张新的图片上去
    
    // 1.创建一个基于位图的上下文(开启一个基于位图的上下文)
    // size : 新图片的尺寸
    // opaque : YES : 不透明,  NO : 透明
    // 这行代码过后.就相当于常见一张新的bitmap,也就是新的UIImage对象
    UIGraphicsBeginImageContextWithOptions(bgImage.size, NO, 0.0);
    
    // 2.画背景
    [bgImage drawInRect:CGRectMake(0, 0, bgImage.size.width, bgImage.size.height)];
    
    // 3.画右下角的水印
    UIImage *waterImage = [UIImage imageNamed:@"logo"];
    CGFloat scale = 0.2;
    CGFloat margin = 5;
    CGFloat waterW = waterImage.size.width * scale;
    CGFloat waterH = waterImage.size.height * scale;
    CGFloat waterX = bgImage.size.width - waterW - margin;
    CGFloat waterY = bgImage.size.height - waterH - margin;
    [waterImage drawInRect:CGRectMake(waterX, waterY, waterW, waterH)];
    
    // 4.从上下文中取得制作完毕的UIImage对象
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    
    // 5.结束上下文
    UIGraphicsEndImageContext();
    
    // 6.显示到UIImageView
    self.iconView.image = newImage;
    
    // 7.将image对象压缩为PNG格式的二进制数据
    NSData *data = UIImagePNGRepresentation(newImage);
    //    UIImageJPEGRepresentation(<#UIImage *image#>, <#CGFloat compressionQuality#>)
    
    // 8.写入文件
    NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"new.png"];
    [data writeToFile:path atomically:YES];
}

转载于:https://www.cnblogs.com/xiaokanfengyu/p/3931774.html

iOS给图片打水印,并将打过水印的图片生成到沙盒中相关推荐

  1. iphone 保存到沙盒中的图片的读取

    1:原文摘自:http://www.devdiv.com/thread-84543-1-1.html - (void)imagePickerController:(UIImagePickerContr ...

  2. iOS App查看Log:通过iTunes获取真机沙盒中文件

    1.Win电脑下载iTunes应用 2.打开iTunes应用,如下是默认页面 3.用数据线将ios手机与win电脑连接,转为如下页面 4.点击如下按钮 5.点击文件共享,选择测试的App,文档储存在右 ...

  3. ios 获取沙盒文件名_iOS怎么获取并移除沙盒中Documents文件夹下的所有文件

    匿名用户 1级 2016-09-15 回答 1.将所有文件存入数组 NSString *string = [NSSearchPathForDirectoriesInDomains(NSDocument ...

  4. IOS沙盒中的Documents、Library、tmp区别

    1.Documents: 用户生成的文件.其他数据及其他程序不能重新创建的文件,iTunes备份和恢复的时候会包括此目录. 2.Library/Caches: 可以重新下载或者重新生成的数据,数据库缓 ...

  5. iOS开发-缓存图片到沙盒--思路

    1.图片存储到沙盒中 ? 1 2 3 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDo ...

  6. iOS沙盒路径及路径下数据的存储和读取

    2019独角兽企业重金招聘Python工程师标准>>> iOS应用都被限制在"沙盒"中,"沙盒"相当于一个加了仅主人可见权限的文件夹,苹果对沙 ...

  7. iOS学习7:iOS沙盒(sandBox)机制(一)之获取沙盒路径及目录说明(转)

    转:http://my.oschina.net/joanfen/blog/151145 一.iOS沙盒机制 iOS的应用只能访问为该应用创建的区域,不可访问其他区域,应用的其他非代码文件都存在此目录下 ...

  8. iOS - 沙盒文件操作指南

    前言 最近在学习数据持久化相关的内容,文件作为 iOS 客户端开发中一种常见的数据保存方式,自然也是应该学习的内容,本文就来简单介绍文件相关的一些知识. 文章目录 前言 1. 文件基础 沙盒路径获取 ...

  9. ios沙箱模式开启_iOS我眼中的沙盒机制

    一.简介 1.1 概念:每个iOS应用都有自己的应用沙盒,应用沙盒就是文件系统目录. 1.2 核心:sandbox对应用程序执行各种操作的权限限制 . 1.3 特点: 每个应用程序的活动范围都限定在自 ...

最新文章

  1. setFilters使用方法
  2. win10 远程ubuntu
  3. 模拟jQuery ajax服务器端与客户端通信
  4. 怎么一键备份服务器系统还原,电脑怎么一键还原
  5. JQuery果然是神器,这里顺便测试一下我发现的那个漏洞!
  6. IOS--工作总结--post上传文件(以流的方式上传)
  7. 前端学习(381):CSS3 的视口单位vw、vh实现自适应(带有px,em,rem的简单介绍)
  8. PID控制器开发笔记之十三:单神经元PID控制器的实现
  9. 【Java】浅谈JavaDoc文档注释
  10. (转)基于MVC4+EasyUI的Web开发框架形成之旅--MVC控制器的设计
  11. python3的文件编码问题
  12. entity framework 调用 oracle 序列_Weblogic T3 反序列化漏洞(CVE20192890 )分析
  13. Mocha BSM产品亮点——SNMP Trap的支持
  14. 如何使用google进行搜索
  15. 信息系统分析与设计(自考)
  16. 如何把pdf文件转换为excel表格
  17. 微信订阅号改版,我有这些看法
  18. 安卓手机怎么投屏台式计算机WIN7,手机怎么投屏到win7电脑
  19. 【事件图谱】事件抽取与事件关系抽取
  20. 商业计划汇报PPT模板

热门文章

  1. 《JS高级程序设计》PART3.对象基础
  2. 如何让tomcat服务器运行在80端口,并且无需输入项目名即可访问项目()
  3. 1088. [SCOI2005]扫雷Mine【网格DP】
  4. root用户登录mysql后新建用户提示1045错误
  5. tomcat优化-有改protocol 和 缓存 集群方案
  6. Linux 系统如何调整时区和时间
  7. 都会五星回评,欢迎留下地址-博客之星
  8. 学成在线--9.页面静态化
  9. 2000服务器文件共享,Win2000 Server实现对共享文件的监控
  10. cef js返回c++的代码_CEF3开发者系列之外篇——IE中JS与C++交互