图片加水印效果的实现并保存至相冊

实现效果如图:


project下载:githubproject下载链接


代码:

- (void)viewDidLoad {
[super viewDidLoad]; UIImage *image = [UIImage imageNamed:@"pushu.jpg"];
UIImage *waterImage = [self waterMarkImage:image withText:@"朴树水印測试"]; UIImageWriteToSavedPhotosAlbum(waterImage, nil, nil, nil); //保存图片至相冊 // 展示图片
UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.view.bounds];
imageView.image = waterImage;
[self.view addSubview:imageView]; // Do any additional setup after loading the view, typically from a nib.
}
- (UIImage *)waterMarkImage:(UIImage *)image withText:(NSString *)text {
UIGraphicsBeginImageContext(image.size); // 在画布中绘制内容
[image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)]; // 绘制文字
[[UIColor darkGrayColor] set];
CGRect rect = CGRectMake(70, 220, 200, 60);
NSDictionary *dic = @{NSFontAttributeName:[UIFont systemFontOfSize:30],
NSObliquenessAttributeName:@1}; //这里设置了字体,和倾斜度。具体其它參数文章结尾有具体说明的文章链接
[text drawInRect:rect withAttributes:dic]; //在iOS7之前用下列方法比較方便
// [text drawInRect:rect withFont:[UIFont systemFontOfSize:30] lineBreakMode:NSLineBreakByWordWrapping alignment:NSTextAlignmentCenter]; // 从画布中得到image
UIImage *returnImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return returnImage;
}

- (void)drawInRect:(CGRect)rect withAttributes:(NSDictionary *)attrs NS_AVAILABLE_IOS(7_0);

关于此方法,在iOS7以后应用。attrs设置參数的具体说明在例如以下链接文章中:

说明文章链接:attrs參数说明文章

iOS图片加水印效果的实现并保存至相冊的更多相关文章

  1. PHPThumb处理图片,生成缩略图,图片尺寸调整,图片截取,图片加水印,图片旋转

    [强烈推荐]下载地址(github.com/masterexploder/PHPThumb). 注意这个类库有一个重名的叫phpThumb,只是大小写的差别,所以查找文档的时候千万注意. 在网站建设过 ...

  2. c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)

    c#封装DBHelper类   public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> ...

  3. ios图片轮播效果

    代码地址如下:http://www.demodashi.com/demo/11959.html ImageCarousel 简单封装的图片轮播器 内存过大由于我加载的图片分辨率较高(4k) 文件目录 ...

  4. C#给图片加水印,可设置透明度

    C#给图片加水印,可设置透明度,设置水印的位置可以看一下上一篇哈 /// <summary> /// Creating a Watermarked Photograph with GDI+ ...

  5. 火车头dede采集接口,图片加水印,远程图片本地化,远程无后缀的无图片本地化

    <?php /* [LocoySpider] (C)2005-2010 Lewell Inc. 火车采集器 DedeCMS 5.7 UTF8 文章发布接口 Update content: 图片加 ...

  6. thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印

    今天分享一下thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印.博主是新手,在这里卡住了很久(>_<) thinkphp 3.2.3整合ueditor 1.4 下载 ...

  7. CSS鼠标悬停图片加边框效果,不位移的方法

    <!DOCTYPE HTML> <html lang="en-US"> <head> <title>css实现鼠标悬停时图片加边框效 ...

  8. iOS图片加载到内存中占用内存情况

    我的测试结果: 图片占用内存   图片尺寸           .png文件大小 1MB              512*512          316KB 4MB              10 ...

  9. php 分享两种给图片加水印的方法

    本文章向码农们介绍 php 给图片加水印的两种方法,感兴趣的码农可以参考一下本文章的源代码. 方法一:PHP最简单的加水印方法 <?php // http://www.manongjc.com ...

随机推荐

  1. Android 架构 1.架构

    项目分为了四个层级:模型层.接口层.核心层.界面层.模型层定义了所有的模型:接口层封装了服务器提供的API:核心层处理所有业务逻辑:界面层就处理界面的展示.几个层级之间的关系如下图所示: 层级关系:模 ...

  2. netstat 用法

    https://linux.cn/article-2434-1.html Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),ma ...

  3. mormot数据库连接+查询+序列为JSON

    mormot数据库连接+查询+序列为JSON uses SynDB,SynCommons, SynDBRemote, SynOleDB, SynDBMidasVCL, mORMotMidasVCL p ...

  4. VUE -- vue.js中$watch的用法示例

    Vue.js 提供了一个方法 watch,它用于观察Vue实例上的数据变动.对应一个对象,键是观察表达式,值是对应回调.值也可以是方法名,或者是对象,包含选项. 在实例化时为每个键调用 $watch( ...

  5. 关于 easyui datagridfilter 中的combox 过滤

    var_activitimodel_datagrid.datagrid({ singleSelect: true, fit: true, striped: true, fitColumns: fals ...

  6. ylbtech-LanguageSamples-Arrays(数组)

    ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-Arrays(数组) 1.A,示例(Sample) 返回顶部 “数组”示例 本示例介绍并 ...

  7. 原型设计工具——Axure

    1,百度百科 http://baike.baidu.com/view/3332366.htm?from_id=5056136&type=syn&fromtitle=axure& ...

  8. u-boot修改出错的问题

    一.u-boot找不到nandflash 我用的开发板是fl2440的,里面没有norflash只有nandflash.我用了s3c2410的u-boot改的,所以要把内核从norflash启动改成适 ...

  9. javascript快速入门14--DOM基础

    DOM(Document Object Model)——文档对象模型 什么是DOM? Document Object Model (DOM)是HTML和XML文档的编程接口.它提供了上述文档的一种结构 ...

  10. 蓝鲸安装Agent

    1. APPO 所在机器(在 app 运行所在机器) 必须能通过 ssh 登陆到 Agent 机器2. Agent 所在机器可以访问到 zk 的端口3. 支持 Linux/Windows/AIX 操作 ...