使用下面的代码(在viewDidLoad中),当我第一次从另一个视图转到这个静态相机视图(按下按钮)时,一切正常。然后我派出一名代表,并将此观点从之前的观点中删除。
但是,当我再次按下第一个视图上的那个按钮再次显示摄像机视图时,屏幕是黑色的。我已将属性更改为实例变量,确保每个步骤都存在预览视图等。
但是,当我拍照时(即使屏幕是黑色的,它正在记录焦点和曝光活动并对触摸做出反应)并显示一个显示图像的模态视图以供审阅,我确实看到了我应该看到的内容。当我关闭模态时,相机视图再次正常工作,没有黑色。
那么,我在这里错过了什么?它必须是框架,IB,故事板等中的简单内容。谢谢!
stillCamera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPresetPhoto cameraPosition:AVCaptureDevicePositionBack];
stillCamera.outputImageOrientation = UIInterfaceOrientationLandscapeLeft;
UIImage *inputImage = [UIImage imageNamed:@"blank-1x1.png"];
sourcePicture = [[GPUImagePicture alloc] initWithImage:inputImage smoothlyScaleOutput:YES];
[sourcePicture processImage];
filter = [[GPUImageChromaKeyBlendFilter alloc] init];
[(GPUImageChromaKeyBlendFilter *)filter setColorToReplaceRed:0.0 green:1.0 blue:0.0];
[(GPUImageChromaKeyBlendFilter *)filter setThresholdSensitivity:0.37f];
[stillCamera addTarget:filter];
[sourcePicture addTarget:filter];
[filter addTarget:videoPreviewView];
[stillCamera startCameraCapture];
答案 0 :(得分:0)
我建议仔细阅读这个帖子并特别注意这个评论:https://github.com/BradLarson/GPUImage/issues/130#issuecomment-5936685。希望它也能帮到你。