如果这篇文章帮助到了您,希望您能点击一下喜欢或者评论,你们的支持是我前进的强大动力.谢谢!

我们在很多APP中都会看到水印图片,例如下面微博中的一张图片

下面就来分享一下怎么制作一张水印图片吧


首先生成水印图片它最终是生成了一个新的图片,生成图片要用到了位图上下文,但是位图上下文需要我们手动创建。

实现水印效果的思路:

1.开启一个和原始图片一样的位图上下文.

2.把原始图片先绘制到位图上下文.

3.再把要添加的水印(文字,logo)等绘制到位图上下文.

4.最后从上下文中取出一张图片.

5.关闭位图上下文.

加载要添加水印的图片

UIImage *image = [UIImage  imageNamed:@"图片"];

创建一个位图上下文.

参数size:要开启一个多大的图片上下文.

参数opaque:不透明度,当为YES为不透明,为NO的时候透明,

参数scale:是否需要缩放,0代表不缩放

UIGraphicsBeginImageContextWithOptions(image.size, YES, 0);

把要添加水印的图片绘制到上下文当中.

[image drawAtPoint:CGPointZero];

绘制水印(logo)

NSString *str = @"李小南";

[str drawAtPoint:CGPointMake(50, 100) withAttributes:@{NSFontAttributeName : [UIFont systemFontOfSize:20], NSForegroundColorAttributeName : [UIColor orangeColor]}];

从上下文当中生成一张新图片.

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

关闭上下文.

UIGraphicsEndImageContext();

这样,新的带有水印的图片就做好了,我可以将它写到桌面

NSData *data = UIImagePNGRepresentation(image);

[data writeToFile:@"/Users/lixiaonan/Desktop/李小南.png"  atomically:YES];

iOS中制作一张水印图片相关推荐

  1. latex中插入两张子图片

    背景 如何在latex中插入两张子图片呢? 步骤 参照下面的代码: \begin{figure}[htbp] \label{fig:3} % Give a unique label \quad \su ...

  2. Java和C#环境中制作二维码图片

    二维码作为一种先进的应用,随着移动互联网和智能终端的普及而快速发展,在媒体.产品质量.仓储物流登各行各业都应用广泛.二维码具有存储量大.保密性高.追踪性高.抗损性强.被援性大.成本便宜等特性,这些特性 ...

  3. Word中制作和去掉水印的方法

    水印是指打印时显示在已存在的文档文字中的任何背景文字或图形,可以让获得文件的人都知道该文档的重要性. Word两种类型水印 Word2003具有添加文字和图片两种类型水印的功能,水印将显示在打印文档文 ...

  4. ios保存gif到相册_如何在iOS中保存和下载GIF图片

    对于大多数移动开发人员来说,他们经常处理图片,而png和jpg是开发人员经常遇到的图片类型. 但是,对于gif图片怎么存gif图,由于iOS系统不支持直接处理gif,因此处理起来会更加麻烦. 本文将讨 ...

  5. 第004篇:ArcGIS中制作一张图中有多个图框(一幅多图)的方法

    很多时候,我们制作研究区图,想要一种效果是:标注研究区在市的位置.市在省的位置.省在全国的位置,并将这三张图放一张图里.PS的方法,可以说是曲线救国吧,但最好还是用ArcGIS图框的方法来解决,避免返 ...

  6. IOS中UITableView异步加载图片的实现

    本文转载至 http://blog.csdn.net/enuola/article/details/8639404  最近做一个项目,需要用到UITableView异步加载图片的例子,看到网上有一个E ...

  7. 关于IOS中uni.downloadFile下载的图片显示不出来的解决方法

    1.如果你遇到的下载后的返回路径是如下情况的 2.此时IOS有可能会出现图片显示不出来(我自己手机测试是显示不出来) 3.针对此情况,我们可以在IOS端下进行单独处理,使用escape escape( ...

  8. iOS中制作动态链接库Framework

    这几天在做个SDK遇到了很多问题,现在做完了想把制作Framework的过程分享出来(我这个SDK中也包含了其他的第三方很多Framework,所以踩了很多坑) 首先需要创建个Framework工程: ...

  9. 关于在ios中使用png与jpg图片的区别

    关于png图片: 1.png有透明通道, jpg没有.png有手机硬解码加速 无损显示效果好 2.png加载速度快, 显示效果好 3.xcode也会对png图片进行优化,而不会对jpg图片进行优化. ...

最新文章

  1. 浙江大学杭州国际科创中心招聘优秀青年人才(机器学习及大数据)
  2. GDCM:读取gdcm::DataSetHelper的测试程序
  3. 10、angular的全部api
  4. iOS 设置系统音量和监听系统音量变化
  5. 工作汇报ppt案例_【赠书】开工大吉!今年一定要干过写PPT的!
  6. 邮票的孔怎么做出来的_金银花茶是怎么做出来的呢
  7. Leaflet工作笔记-GIS地图上构造echarts的3D图
  8. redis怎么修改_面试官问我Redis事务,还问我有哪些实现方式
  9. 百度VS谷歌:优秀与伟大之别
  10. Python3中Dict不能在循环中删除元素
  11. 教师教育网各网页链接
  12. SPSS决策树和神经网络
  13. 常用的免费CMS建站系统推荐
  14. 高效能人士的七个习惯读后感与总结概括-(第二章)
  15. PyTorch基础:Tensor的组合与分块
  16. 如何在自己电脑上设php网站,怎么在自己电脑上建网站
  17. FL Studio乐理教程之和弦进行
  18. python自动化------问卷星刷问卷3.0版本
  19. C语言-第30课 - 程序中的三国天下
  20. 资产定价模型的截面与时间序列测试

热门文章

  1. 实现IE6、IE7、IE8多版本浏览器共存的五种方法
  2. 感恩,生命的馈赠(2014年终总结)
  3. (转)网通电信域名劫持怎么办
  4. 从输入域名,到拿到首页的所有细节过程
  5. Python电影观众数量回归分析 随机森林 可视化 实验报告
  6. SEO与SEM是什么?有何区别?
  7. 1110 - 好像事情没我想的那么糟
  8. jar完整性测试的Java代码
  9. 【论文写作】本科、硕士研究生毕业论文字体、段落格式参考
  10. 照片在计算机打不开怎么回事,电脑上图片打不开怎么办