美文网首页
使用GPUImage实现加水印效果

使用GPUImage实现加水印效果

作者: 懵懂小屁孩 | 来源:发表于2018-07-20 11:27 被阅读0次

    //摄像机初始化

        stillCamera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPreset1920x1080 cameraPosition:AVCaptureDevicePositionBack];

    //  方向

        stillCamera.outputImageOrientation = UIInterfaceOrientationPortrait;

    //    视频保存路径

        pathToMovie = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Movie2.mp4"];

        unlink([pathToMovie UTF8String]);

      //    NSLog(@"视频路径%@",pathToMovie);

        NSURL *movieURL = [NSURL fileURLWithPath:pathToMovie];

    //    录制器初始化

        movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(1080, 1960)];

        movieWriter.encodingLiveVideo = YES;

    //    视频预览页面

        GPUImageView *filterView = [[GPUImageView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];

        [filterView setBackgroundColorRed:1 green:1 blue:1 alpha:1];

        [self.view addSubview:filterView];

    添加滤镜

    //水印页面

    UIImage *image = [self imageAddLocalImage:[UIImage imageNamed:@"transparent.png"] addMsakImage:[UIImage imageNamed:@"course.png"]];

            self.pptPicture = [[GPUImagePicture alloc] initWithImage:image smoothlyScaleOutput:YES];

    //        [self.sourcePicture processImage];

        self.alphaBlendFilter = [[GPUImageAlphaBlendFilter alloc] init];

        //mix即为叠加后的透明度,这里就直接写1.0了

        self.alphaBlendFilter.mix = 1;

        [self.alphaBlendFilter addTarget:filterView];

        [stillCamera addTarget:self.alphaBlendFilter];

        [self.pptPicture addTarget:self.alphaBlendFilter];

        [self.alphaBlendFilter  addTarget:movieWriter];

    [stillCamera startCameraCapture];//开始拍摄

    效果

    相关文章

      网友评论

          本文标题:使用GPUImage实现加水印效果

          本文链接:https://www.haomeiwen.com/subject/mlsfmftx.html