zoukankan      html  css  js  c++  java
  • GPUImage做滤镜

    IOS端滤镜开源代码比较少,基本上强大的就是GPUImage了,操作简单而且强大。
    基本功能可以实现,相机,摄像以及静态图片的滤镜

    live filter:
    调用GPUImageStillCamera 作为相机,并将相机添加到一个GPUImageView中
    _stillCamera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
    切记使用小一些的尺寸initWithSessionPreset:AVCaptureSessionPreset640x480。否则会出现memory warning
    [_stillCamera addTarget:self.imageView];

    如果需要添加fiilter。就通过其中添加
    _cropFilter = [[GPUImageCropFilter alloc] initWithCropRegion:CGRectMake(0.0f, 0.0f, 1.0f
    , 0.96)];
    [_stillCamera addTarget:_cropFilter];
    [_cropFilter addTarget:self.imageView];
    如果是多个滤镜,则
    [_stillCamera addTarget:_cropFilter1];
    [_cropFilter1 addTarget:_cropFilter2];
    [_cropFilter2 addTarget:self.imageView];

    拍照后想生成图片
    [_stillCamera capturePhotoAsImageProcessedUpToFilter:lastFilter
    withCompletionHandler:^(UIImage *processed, NSError *error) ;

    lastFilter的解释为finalFilterInChain
    也就是说,需要使用最后一个addTarget进来的滤镜

    static filter:
    首先设置初始图片到GPUImagePicture
    _staticPicture=[[GPUImagePicture alloc]initWithImage:selectedImage smoothlyScaleOutput:NO];
    加filter与上面相同
    需要生成新的图片时,调用
    [_staticPicture processImage];
    [filter imageFromCurrentlyProcessedOutput];

    非常简单。附上过滤后的图

  • 相关阅读:
    PyCharm小技巧
    How to install torcs package in Debian
    QT4.8.6静态编译
    Debian初识(选择最佳镜像发布站点加入source.list文件)
    Dev-C++ 小问题锦集
    ubuntu 12.04lts 安装mysql ,并通过QT连接
    win7下安装ubuntu14.04lts 双系统
    cmake打印变量值
    驾车常识:小轿车灯光
    汽车点火开关的功能介绍
  • 原文地址:https://www.cnblogs.com/yingkong1987/p/2993325.html
Copyright © 2011-2022 走看看