IOS第三方库GPUImage的CameraDemo

来源:互联网 发布:游戏开发程序员 编辑:程序博客网 时间:2024/06/03 20:27

本文是使用GPUImage集成camera实时滤镜的demo

1.xcode工程集成GPUImage的库
详见http://blog.csdn.net/xx352890098/article/details/77898200

2.封装camera

/* * Camera.h */#import <Foundation/Foundation.h>#import "GPUImage.h"#import "GPUImageView.h"@interface Camera : NSObject@property (nonatomic , strong) GPUImageVideoCamera *camera;@property (nonatomic , strong) GPUImageView *cameraScreen;@property (nonatomic , strong) GPUImageFilter *filter;- (void)startCamera;- (void)@end
/* * Camera.m */#import "Camera.h"@implementation Camera- (void)startCamera{    if (!_camera) {        GPUImageVideoCamera *camera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPresetPhoto cameraPosition:AVCaptureDevicePositionBack];        camera.outputImageOrientation = UIInterfaceOrientationPortrait;        camera.horizontallyMirrorFrontFacingCamera = YES;        _camera = camera;    }    _filter = [[GPUImageFilter alloc] init];    [self.camera addTarget:_filter];    [_filter addTarget:self.cameraScreen];    [self.camera startCameraCapture];}- (void)stopCamera{    [self.camera stopCameraCapture];}@end

3.集成在viewcontroller里

self.cameraManager = [[Camera alloc] init];self.cameraManager.cameraScreen = [[GPUImageView alloc] initWithFrame:self.view.bounds];self.cameraManager.cameraScreen.fillMode = kGPUImageFillModePreserveAspectRatioAndFill;[self.view addSubview:self.cameraManager.cameraScreen];[self.cameraManager startCamera];

源代码详见https://github.com/fujikoli/GPUImageCameraDemo

原创粉丝点击