关于GPUImage / ios 相机自定义分辨率相机 分辨率的问题求助

iOS GPUImage自定义相机锁屏后崩溃 - 简书
<div class="fixed-btn note-fixed-download" data-toggle="popover" data-placement="left" data-html="true" data-trigger="hover" data-content=''>
写了2005字,被4人关注,获得了8个喜欢
iOS GPUImage自定义相机锁屏后崩溃
前段时间用GPUImage自定义了相机,但是测试发现在相机界面,锁屏后再打开,程序崩溃,全局断点每次都崩溃到下面这个代码段
- (void)presentBufferForD
[self.context presentRenderbuffer:GL_RENDERBUFFER];
搜索之后发现,GPUImage是基于OpenGL 的,而OpenGL ES在进入后台后是直接退出的,在上发现了类似的问题,在GPUImage的得到了解决方法,注册通知监听程序进入后台(UIApplicationWillResignActiveNotification)和进入前台(UIApplicationDidBecomeActiveNotification),通过下面方法即可解决相机界面进入后台崩溃的问题。
- (void)goToBack
[self.stillCamera pauseCameraCapture];
[self.stillCamera stopCameraCapture];
runSynchronouslyOnVideoProcessingQueue(^{
glFinish();
- (void)gotoFore
[self.stillCamera resumeCameraCapture];
[self.stillCamera startCameraCapture];
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
选择支付方式:用GPUImage开启相机并且开启滤镜效果
用GPUImage开启相机并且开启滤镜效果
发布时间: 4:02:37
编辑:www.fx114.net
本篇文章主要介绍了"用GPUImage开启相机并且开启滤镜效果",主要涉及到用GPUImage开启相机并且开启滤镜效果方面的内容,对于用GPUImage开启相机并且开启滤镜效果感兴趣的同学可以参考一下。
GPUImage提供了GPUImageVideoCamera这么一个类,它的对象能够调用摄像头,并且加上滤镜的效果。
& &&//init VideoCamera
& & //这里的两个参数可以设定拍摄录像的像素,还有拍摄录像的前后摄像头。不过要注意的是前后摄像头对像素的要求不同,1080P的录像就不可能在钱摄像头完成了哈
& & videoCamera = [[GPUImageVideoCameraalloc] initWithSessionPreset:AVCaptureSessionPreset640x480cameraPosition:AVCaptureDevicePositionBack];
& & //这个参数是确定摄像的方向
& & videoCamera.outputImageOrientation = UIInterfaceOrientationP
& & //开始摄像。这个方法可以放在任意地方,只要运行了这个方法就开始摄像了
& & [videoCamerastartCameraCapture];
这些只是开始摄像的初始化工作,如果没有图像输出那么也是没有用的哈(虽然StartCameraCapture的作用是开启摄像头,但是如果摄像头上的图像没有传递到屏幕上那么是没有图像的)
& &&//把滤镜效果加给摄像头
& & [videoCameraaddTarget:testFilter];
& & //把摄像头上的图像给GPUImageView显示出来
& & [testFilteraddTarget:imageView];
在这里的TestFilter已经是初始化过了的滤镜效果。这样就可以成功摄像了
& & & &&//关闭摄像头
& & & & [videoCamerastopCameraCapture];
&关闭摄像头也很简单,就不多说了哈
还有一个最重要的地方,开启摄像头需要完成以下接口才能正常运行:
#pragma mark - vidoe camera
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
& & // Map UIDeviceOrientation to UIInterfaceOrientation.
& & UIInterfaceOrientation orient = UIInterfaceOrientationP
& & switch ([[UIDevicecurrentDevice] orientation])
& & & & caseUIDeviceOrientationLandscapeLeft:
& & & & & & orient = UIInterfaceOrientationLandscapeL
& & & & & &
&& & & & & &
& & & & caseUIDeviceOrientationLandscapeRight:
& & & & & & orient = UIInterfaceOrientationLandscapeR
& & & & & &
&& & & & & &
& & & & caseUIDeviceOrientationPortrait:
& & & & & & orient = UIInterfaceOrientationP
& & & & & &
&& & & & & &
& & & & caseUIDeviceOrientationPortraitUpsideDown:
& & & & & & orient = UIInterfaceOrientationPortraitUpsideD
& & & & & &
&& & & & & &
& & & & caseUIDeviceOrientationFaceUp:
& & & & caseUIDeviceOrientationFaceDown:
& & & & caseUIDeviceOrientationUnknown:
& & & & & & // When in doubt, stay the same.
& & & & & & orient = fromInterfaceO
& & & & & &
& & videoCamera.outputImageOrientation =
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
& & returnYES; // Support all orientations.
本文标题:
本页链接:&&国之画&&&& &&
版权所有 京ICP备号-2
迷上了代码!2015年2月 移动开发大版内专家分月排行榜第二
2015年4月 移动开发大版内专家分月排行榜第三2015年1月 移动开发大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。

我要回帖

更多关于 gpuimage自定义滤镜 的文章

 

随机推荐