ios图片添加水印

  1. 添加水印的思路是将图片添加到图片上后合成一张新图片
  2. 水印内容固定为文字,问题转变为添加文字到图片上
  3. 使用绘图类CoreGraphics获取图像上下文,设置自定义文字的样式和位于图像的位置后后将文字绘制在图像上
  4. 将类抽离到UIImage的分类中进行封装
  5. 文字内容为服务器时间 + 定位信息
  6. 服务器时间的获取很巧妙,只要发送网络请求就可以获取到时间信息,使用NSURLSession在Response中的AllHeader中可以打印到时间信息(不需要引入AFN)
  7. 时间信息需要转换为常见的格式化符,因此引入NSDate的分类 并将服务器时间获取放入此类中一起处理,这样可以直接返回正确的格式化符号
  8. 时间信息是英文,设置模拟器语言为中文
  9. 时间信息是英国时间,将NSDate返回后获取系统当前的时区,转化为本地时间即可 北京多8小时
  10. 定位信息时候CLLocationManager类来获取,在返回到的代理方法中调用CLLocation的逆地理编码方法,如果有定位信息,就将定位信息换行后拼接在后面
  11. 使用定位和Http请求需要在Info.plist中添加允许请求,允许定位,允许后台定位的字符串。
  12. 定位返回地址文字过长的时候,需要考虑自适应高度的文字,因此在文字绘制到图像中的时候,需要考虑超过屏幕宽度的解决方法, 将drawAtPoint 的方法替换为drawInRect 限制了宽高,并且可以自动适应高度,就解决了
  13. 后期可以增加文字背景颜色,阴影效果等一些设置,没有定位信息就不显示定位信息即可。
  14. 需要的内容都抽离成分类

ios图片添加水印_第1张图片

代码链接:https://github.com/damonyyb/ImageWaterMake

你可能感兴趣的:(图片添加定位时间水印)