AVfoundation中焦距的设置(slider实现拉近拉远镜头) -自定义UISlider
2015-02-06 16:18
573 查看
焦距AVfoundation调节焦距
首先设置一个slider
UISlider focusSlider = [[UISlideralloc]initWithFrame:CGRectMake(60,_bottomView.frame.origin.y-60,200,20)];
[focusSlideraddTarget:selfaction:@selector(AdjustFocusAction:)forControlEvents:UIControlEventValueChanged];
[focusSlidersetThumbImage:[UIImageimageNamed:@"camera_view_slider_take_gray.png"]forState:UIControlStateNormal];
[focusSlidersetMinimumTrackImage:[UIImageimageNamed:@"camera_view_sliderbar_gray.png"]forState:UIControlStateNormal];
[focusSlidersetMaximumTrackImage:[UIImageimageNamed:@"camera_view_sliderbar_gray.png"]forState:UIControlStateNormal];
[focusSlidersetBackgroundColor:[UIColorclearColor]];
[focusSlidersetMaximumValue:1];
[focusSlidersetMinimumValue:0];
[focusSlider setValue:0.0];
[self.viewaddSubview:focusSlider];
以下做一下有关相机的设置(只写出来了其中一部分,并非全部)
preview = [AVCaptureVideoPreviewLayerlayerWithSession:self.session];
self.preview.frame =CGRectMake(0,0, self.cameraView.frame.size.width,self.cameraView.frame.size.height);
[self.previewsetPosition:CGPointMake(CGRectGetMidX(self.cameraView.bounds),CGRectGetMidY(self.cameraView.bounds))];
self.preview.videoGravity =AVLayerVideoGravityResize;
[self.cameraView.layeraddSublayer:self.preview];
captureOutput
= (AVCaptureStillImageOutput*)[self.session.outputsobjectAtIndex:0];
focusConnection =[captureOutput connectionWithMediaType:AVMediaTypeVideo];
调节焦距
-(void)AdjustFocusAction:(id)sender
{
[UIViewanimateWithDuration:0.025animations:^{
[self.previewsetAffineTransform:CGAffineTransformMakeScale([(UISlider
*)sendervalue]+1, [(UISlider *)sendervalue]+1)];
focusConnection.videoScaleAndCropFactor = [(UISlider *)sendervalue]+1;
}];
}
首先设置一个slider
UISlider focusSlider = [[UISlideralloc]initWithFrame:CGRectMake(60,_bottomView.frame.origin.y-60,200,20)];
[focusSlideraddTarget:selfaction:@selector(AdjustFocusAction:)forControlEvents:UIControlEventValueChanged];
[focusSlidersetThumbImage:[UIImageimageNamed:@"camera_view_slider_take_gray.png"]forState:UIControlStateNormal];
[focusSlidersetMinimumTrackImage:[UIImageimageNamed:@"camera_view_sliderbar_gray.png"]forState:UIControlStateNormal];
[focusSlidersetMaximumTrackImage:[UIImageimageNamed:@"camera_view_sliderbar_gray.png"]forState:UIControlStateNormal];
[focusSlidersetBackgroundColor:[UIColorclearColor]];
[focusSlidersetMaximumValue:1];
[focusSlidersetMinimumValue:0];
[focusSlider setValue:0.0];
[self.viewaddSubview:focusSlider];
以下做一下有关相机的设置(只写出来了其中一部分,并非全部)
preview = [AVCaptureVideoPreviewLayerlayerWithSession:self.session];
self.preview.frame =CGRectMake(0,0, self.cameraView.frame.size.width,self.cameraView.frame.size.height);
[self.previewsetPosition:CGPointMake(CGRectGetMidX(self.cameraView.bounds),CGRectGetMidY(self.cameraView.bounds))];
self.preview.videoGravity =AVLayerVideoGravityResize;
[self.cameraView.layeraddSublayer:self.preview];
captureOutput
= (AVCaptureStillImageOutput*)[self.session.outputsobjectAtIndex:0];
focusConnection =[captureOutput connectionWithMediaType:AVMediaTypeVideo];
调节焦距
-(void)AdjustFocusAction:(id)sender
{
[UIViewanimateWithDuration:0.025animations:^{
[self.previewsetAffineTransform:CGAffineTransformMakeScale([(UISlider
*)sendervalue]+1, [(UISlider *)sendervalue]+1)];
focusConnection.videoScaleAndCropFactor = [(UISlider *)sendervalue]+1;
}];
}
相关文章推荐
- AVfoundation中焦距的设置(slider实现拉近拉远镜头)
- AVCaptureDevice中通过调用VideoZoomFactor方法调整焦距实现拉近拉远镜头进行拍照录制视频(动画缩放画面,不闪屏)
- 一步一步SharePoint 2007之四十三:实现自定义Workflow(2)——设置配置文件
- [重写默认的4个权限设置相关的类:一]实现自定义用户配置提供程序ProfileProvider(转载)
- AVCapture中实现拉近拉远镜头
- AndrowListView实现(自定义游戏列表)防止屏幕闪烁,设置分割线android中不推荐的方法,要考虑向下兼容,用了推荐的新方法,可能不兼容旧版本系统的手机
- UISlider和UIScreenEdgePanGestureRecognizer和简单运用,包括滑动时颜色变化,滑动按钮以及Slider按钮颜色设置
- ASP.NET中自定义DataGrid分页设置的实现
- ASP.NET中自定义DataGrid分页设置的实现
- iOS UISlider 自定义及竖版实现
- Android Toast 设置到屏幕中间,自定义Toast的实现方法,及其说明
- Android开发中遇到的问题(一)——自定义videoview设置视频大小,实现上下黑边
- ASP.NET中自定义DataGrid分页设置的实现
- 记录:自定义设置颜色静态控件的实现
- ASP.NET中自定义DataGrid分页设置的实现
- Android Toast 设置到屏幕中间,自定义Toast的实现方法,及其说明
- 一步一步SharePoint 2007之四十三:实现自定义Workflow(2)——设置配置文件
- 自定义reportviewer打印设置按钮的另类实现方法
- 自定义tableViewCell实现自定义表格(需代码实现)ui中tableviewcell设置成custom
- AVCapture中实现拉近拉远镜头