GPUImage混合滤镜的简单使用
来源:互联网 发布:大数据分析视频教程 编辑:程序博客网 时间:2024/05/14 18:34
import "ViewController.h"
#import "GPUImage.h"
@interface ViewController ()
{
UIImage *_inputImage;
UIImage *_outputImage;
}
@property (weak, nonatomic) IBOutlet UIImageView *iconImageView;
@property (nonatomic,strong) GPUImagePicture *picture;
@property (nonatomic,strong) GPUImageView *imageView;
@property (nonatomic,strong) GPUImageFilterPipeline *pipeline;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// 图片输入源
_inputImage = [UIImage imageNamed:@"icon"];
// 初始化 picture
_picture = [[GPUImagePicture alloc] initWithImage:_inputImage smoothlyScaleOutput:YES];
// 初始化 imageView
_imageView = [[GPUImageView alloc] initWithFrame:self.iconImageView.bounds];
[self.iconImageView addSubview:_imageView];
// 使用 GPUImageFilterPipeline 添加组合滤镜
GPUImageRGBFilter *filter1 = [[GPUImageRGBFilter alloc] init];
GPUImageToonFilter *filter2 = [[GPUImageToonFilter alloc] init];
NSMutableArray *arrayTemp = [NSMutableArray array];
[arrayTemp addObject:filter2];
[arrayTemp addObject:filter1];
/**
* @author hj, 07.02 2016 14:07
*
* 初始化 pipeline
*
* @param filters 滤镜数组
* @param input 被渲染的输入源,可以是GPUImagePicture、GPUImageVideoCamera等
* @param output 渲染后的输出容器,一般是显示的视图
*
* @return GPUImageFilterPipeline的对象
*/
_pipeline = [[GPUImageFilterPipeline alloc] initWithOrderedFilters:arrayTemp input:_picture output:_imageView];
// 处理图片
[_picture processImage];
[filter1 useNextFrameForImageCapture]; // 这个filter 可以是filter1 filter2等
// 输出处理后的图片
_outputImage = [_pipeline currentFilteredFrame];
// 保存到系统相册
UIImageWriteToSavedPhotosAlbum(_outputImage, self, nil, nil);
}
@end
#import "GPUImage.h"
@interface ViewController ()
{
UIImage *_inputImage;
UIImage *_outputImage;
}
@property (weak, nonatomic) IBOutlet UIImageView *iconImageView;
@property (nonatomic,strong) GPUImagePicture *picture;
@property (nonatomic,strong) GPUImageView *imageView;
@property (nonatomic,strong) GPUImageFilterPipeline *pipeline;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// 图片输入源
_inputImage = [UIImage imageNamed:@"icon"];
// 初始化 picture
_picture = [[GPUImagePicture alloc] initWithImage:_inputImage smoothlyScaleOutput:YES];
// 初始化 imageView
_imageView = [[GPUImageView alloc] initWithFrame:self.iconImageView.bounds];
[self.iconImageView addSubview:_imageView];
// 使用 GPUImageFilterPipeline 添加组合滤镜
GPUImageRGBFilter *filter1 = [[GPUImageRGBFilter alloc] init];
GPUImageToonFilter *filter2 = [[GPUImageToonFilter alloc] init];
NSMutableArray *arrayTemp = [NSMutableArray array];
[arrayTemp addObject:filter2];
[arrayTemp addObject:filter1];
/**
* @author hj, 07.02 2016 14:07
*
* 初始化 pipeline
*
* @param filters 滤镜数组
* @param input 被渲染的输入源,可以是GPUImagePicture、GPUImageVideoCamera等
* @param output 渲染后的输出容器,一般是显示的视图
*
* @return GPUImageFilterPipeline的对象
*/
_pipeline = [[GPUImageFilterPipeline alloc] initWithOrderedFilters:arrayTemp input:_picture output:_imageView];
// 处理图片
[_picture processImage];
[filter1 useNextFrameForImageCapture]; // 这个filter 可以是filter1 filter2等
// 输出处理后的图片
_outputImage = [_pipeline currentFilteredFrame];
// 保存到系统相册
UIImageWriteToSavedPhotosAlbum(_outputImage, self, nil, nil);
}
@end
0 0
- GPUImage混合滤镜的简单使用
- GPUimage 混合滤镜
- iOS --- 使用GPUImage实现的简单滤镜效果
- GPUimage 简单使用(-)单个滤镜使用
- GPUImage混合滤镜处理图片
- GPUImage的简单使用
- GPUImage 简单使用(二)组合滤镜使用
- 使用GPUImage实现视频滤镜
- 使用GPUImage实现视频滤镜
- 使用GPUImage实现视频滤镜
- GPUImage在摄像头拍照中多滤镜的使用
- 模仿Flickr 使用GPUImage的实时相机滤镜(iOS源代码)
- 使用gpuimage实现的本地视频添加滤镜demo
- 使用GPUImage 的lookup table为图片添加滤镜
- GPUImage滤镜
- GPUImage滤镜
- 05 GUPImage混合模式滤镜的使用
- 使用GPUImage 实现简单的MV特效
- Jersey+Spring构建RESTful Web服务
- JavaScript 的 alert信息显示为乱码
- Android访问webservice服务器的封装类
- Broadcast的简单使用
- 【稀饭】react native 实战系列教程之完成首页
- GPUImage混合滤镜的简单使用
- 突然有个新想法--界面设计器web与插件的交互是否可以用rpc和hbase-protocol
- Manacher算法实现求最长回文子串的长度
- Git利用.gitignore不跟踪某些文件(以及不生效的解决办法)
- Ajax实现省市二级联动(解析XML内容)
- 大数运算(加减乘除模)
- ios 截屏监控
- Jersey+Spring 实现rest 接口 服务调用
- JS之URL重定向