2013-06-12 2 views
1

현재 GPUImage 프레임 워크를 사용해야하는 카메라 필터 앱에서 작업하고 있습니다. 커스텀 카메라가 이미 작동하고 있는데, 이제는 내가 가진 uiview에 필터 하나만 적용하려고합니다. 그래서 필터는 내 UIView에 끊임없이 있으며 필터로 사진을 저장해야합니다. u는 당신이 필요한 정확한 단계를 설명 나CameraView에 라이브 GpuImage 적용

답변

4

에게 프로젝트의 주요 추가 정보를 도울 수 있다면 정말 감사 할 것입니다 :

GPUImageVideoCamera *videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack]; 
videoCamera.outputImageOrientation = UIInterfaceOrientationPortrait; 

GPUImageFilter *customFilter = [[GPUImageFilter alloc] initWithFragmentShaderFromFile:@"CustomShader"]; 
GPUImageView *filteredVideoView = [[GPUImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, viewWidth, viewHeight)]; 

// Add the view somewhere so it's visible 

[videoCamera addTarget:customFilter]; 
[customFilter addTarget:filteredVideoView]; 

[videoCamera startCameraCapture]; 

첫째, 당신은 라이브 비디오를 당길 것이다 GPUImageCamera 인스턴스를 만들 수 있습니다. 그런 다음 위의 코드에서 원하는 필터를 만든 다음 카메라 대상으로 첨부하십시오. 마지막으로 필터링 된 카메라 피드가 표시 될 GPUImageView 인스턴스를 설정하고 필터 대상으로 설정합니다. 비디오 프레임은 결과적으로 카메라에서 필터로 파이프 라인을 따라 뷰로 흐릅니다.

대신 카메라에서 사진을 저장하려면 위의 비디오 카메라 인스턴스 대신 GPUImageStillCamera를 사용하는 것이 좋습니다. 스틸 카메라는 사진 카메라의 비디오 미리보기를 제공하며 필요할 때 전체 해상도의 사진을 캡처 할 수 있습니다.

프레임 워크와 함께 제공되는 설명서에이 모든 내용이 명확하게 설명되어 있습니다 (GitHub 프로젝트의 첫 페이지에 표시됨).