-
Notifications
You must be signed in to change notification settings - Fork 271
logomark
Kecheng edited this page Apr 28, 2017
·
6 revisions
水印的添加可以参考 图层混合, 所谓水印其实就是一张半透明的图片叠加在预览视图上. 暂不支持动态旋转切换水印方向,后续将支持该功能,敬请期待.
- 导入图片 (任意方式导入, 这里用GPUImagePicture来载入, url 是对应图片的地址)
_kit.logoPic = [[GPUImagePicture alloc] initWithURL: url];
- 设置水印的位置和透明度
_kit.logoRect = CGRectMake(0.05, 0.05, 0, hgt);
_kit.logoAlpha= 0.5;
其中 水印的位置信息, 包括左上角的位置, 和宽高信息, 都采用相对预览输出尺寸,归一化为0~1.0的比例值
- 左上角位置: 水印图片的左上角相对预览输出的左上角的偏移
- 宽高信息: 将原始图片缩放到指定宽高对应的矩形框中, 提供如下简易设置方法:
- (0, hgt): 宽为0, 仅指定高度, 则根据高度和图片的宽高比计算宽度.
- (wdt, 0): 高为0, 仅指定宽度, 则根据宽度和图片的宽高比计算宽度.
- (0, 0): 保持宽高比 填充预览视图
文字水印可以用于添加时间信息. kit类中借用UILabel来指定文字的格式,颜色,透明度等信息. 从UILabel中可以得到对应字符串渲染后的UIImage, 将UIImage载入GPUImagePicture之后,就可以通过picMixer叠加到图层上了.
- 设置label的文字内容, 格式和位置
NSDateFormatter *_dateFormatter = [[NSDateFormatter alloc] init];
_dateFormatter.dateFormat = @"HH:mm:ss";
NSDate *now = [[NSDate alloc] init];
_kit.textLable.text = [_dateFormatter stringFromDate:now];
_kit.textLable.textColor = [UIColor whiteColor];
_kit.textLable.alpha = 0.9;
_kit.textRect = CGRectMake(0.05, yPos, 0, hgt);
- 在timer中定时刷新文字的内容
_kit.textLable.text = [_dateFormatter stringFromDate:now];
[_kit updateTextLable];