利用GPUImage自定義相機需要以下幾個類:
GPUImageStillCamera? 處理相機設(shè)置
GPUImageView? 圖片預覽層
GPUImageFilter? 相機添加濾鏡處理
相機基本設(shè)置處理
_myCamera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPreset1280x720 cameraPosition:AVCaptureDevicePositionBack];
? ? //豎屏方向
? ? _myCamera.outputImageOrientation = UIInterfaceOrientationPortrait;
//濾鏡設(shè)置(伽瑪線樣式)
GPUImageGammaFilter *stretchDistortionFilter = [[GPUImageGammaFilter alloc] init];?
?self.myFilter = stretchDistortionFilter;
//圖片預覽處理
_imageView = [[GPUImageView alloc] initWithFrame:CGRectMake(0, 0, kScreenW, kScreenH)];
?相機全屏設(shè)置
? ? _imageView.fillMode = kGPUImageFillModeStretch;
//添加濾鏡到相機上
? ? [_myCamera addTarget:stretchDistortionFilter];
? ? [stretchDistortionFilter addTarget:_imageView];
? ? [self.view addSubview:_imageView];
? ? [_myCamera startCameraCapture];
定格一張圖片 保存到相冊
? ? [self.myCamera capturePhotoAsPNGProcessedUpToFilter:self.myFilter withCompletionHandler:^(NSData *processedPNG, NSError *error) {
? ? ? ? NSLog(@"error--%@",error);
? ? }];