国内目前使用GPUImage来做视频实时处理的应用貌似还不是很多,所以相关的资料也比较少。我们在实时录制视频之后,想加个水印,都要到处找资料,为了避免大家重复造轮子,现将我的解决办法帖出来。
GPUImageAlphaBlendFilter *blendFilter = [[GPUImageAlphaBlendFilter alloc] init];
blendFilter.mix = 1.0;
UIView *contentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, _gpuView.frame.size.width,_gpuView.frame.size.height)];
contentView.backgroundColor = [UIColor clearColor];
UIImageView *ivTemp = [[UIImageView alloc] initWithFrame:CGRectMake(_gpuView.frame.size.width - 138, _gpuView.frame.size.height - 21, 135, 18)];
ivTemp.image = [UIImage imageNamed:@"waterMark"];
ivTemp.tag = 500;
ivTemp.hidden = NO;
[contentView addSubview:ivTemp];
if (_uiElementInput) {
[_uiElementInput removeAllTargets];
}
if (_waterMarkFilter) {
[_waterMarkFilter removeAllTargets];
}
if (!_uiElementInput) {
_uiElementInput = [[GPUImageUIElement alloc] initWithView:contentView];
}