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