iOS 视频加水印

    // ?  水印的添加
    CALayer *animatedTitleLayer = [self buildAnimatedTitleLayerForSize:CGSizeMake(480, 640)];
    CALayer *parentLayer = [CALayer layer];
    CALayer *videoLayer = [CALayer layer];
    parentLayer.frame = CGRectMake(0, 0, record_W, record_H);
    videoLayer.frame = CGRectMake(0, 0, record_W, record_H);
    [parentLayer addSublayer:videoLayer];
    [parentLayer addSublayer:animatedTitleLayer];
    
    
    
    videoComposition.animationTool = [AVVideoCompositionCoreAnimationTool videoCompositionCoreAnimationToolWithPostProcessingAsVideoLayer:videoLayer inLayer:parentLayer];
    // ? end

- (CALayer *)buildAnimatedTitleLayerForSize:(CGSize)videoSize
{
    
    
    
    // 视频的显示大小
    CGSize dataLayerSize = CGSizeMake(320.0f, 480.0f);
    // Create a layer for the overall title animation.
    CALayer *animatedTitleLayer = [CALayer layer];
    // 由于旋转过了,所以高与宽互相转换了,原来 480*640 由于旋转 成了640*480
    // 他们的起点还是左下角
    animatedTitleLayer.frame = CGRectMake(0.0f, videoSize.width-dataLayerSize.height, dataLayerSize.width, dataLayerSize.height);
    animatedTitleLayer.backgroundColor = [UIColor clearColor].CGColor;
    
    // 水印
    UIImage *waterMarkImage = [UIImage imageNamed:@"sinaWeibo.png"];
    CALayer *waterMarkLayer = [CALayer layer];
    waterMarkLayer.contents = (id)waterMarkImage.CGImage ;
    waterMarkLayer.frame = CGRectMake(dataLayerSize.width-waterMarkImage.size.width-15.0f, dataLayerSize.height-waterMarkImage.size.height-15.0f, waterMarkImage.size.width, waterMarkImage.size.height);
    waterMarkLayer.opacity = 0.6f;
    
    // 文字
    CATextLayer *textLayer = [CATextLayer layer];
    textLayer.string = @"主演:  视频电影";
    textLayer.font =  (__bridge CFTypeRef)(@"HiraKakuProN-W3");
    textLayer.fontSize = 42.f; //字体的大小
    textLayer.shadowOpacity = 0.6f ;
    textLayer.contentsScale =2;  // ?
    textLayer.backgroundColor = [UIColor clearColor].CGColor ;
    textLayer.foregroundColor = [UIColor whiteColor].CGColor ;  // 字体颜色
    // 文字的位置
    textLayer.frame = CGRectMake(85.0f, dataLayerSize.height-20.0f-15.0f, dataLayerSize.width, 80.0f);
    [animatedTitleLayer addSublayer:waterMarkLayer];
    
    [animatedTitleLayer addSublayer:textLayer];
    
    return animatedTitleLayer;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值