AVfoundation中焦距的设置(slider实现拉近拉远镜头) -自定义UISlider

焦距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;

}];

}

时间: 2024-10-07 14:48:53

AVfoundation中焦距的设置(slider实现拉近拉远镜头) -自定义UISlider的相关文章

怎样在osg中动态的设置drawable的最近最远裁剪面

// draw callback that will tweak the far clipping plane just    // before rendering a drawable.    struct OverrideNearFarValuesCallback : public osg::Drawable::DrawCallback    {        OverrideNearFarValuesCallback(double radius)            : _radius

iOS7上在xib中使用UITableViewController设置背景色bug

今天用xcode5.1设置xib中,用静态的方式设置UITableViewController中的tableview,把tableview中的backgroundColor改变后,xib上有效果,但是一运行就变成了透明色,在过渡动画时,都可以看到背面的view!见下面截图 后来在viewdidload中设置一下就好了 self.tableView.backgroundColor = [UIColor blackColor]; 我感觉这是xcode的一个bug! 而且这种static的设置方式,如

苹果电脑中FaceTime怎么设置介绍

不少Mac用户对这款FaceTime工具都是有一定了解的,不过还是有很多Mac用户们不知道怎么轻松对FaceTime进行设置,其实方法还是比较简单易操作,下面我们就一起来苹果电脑中FaceTime怎么设置介绍中瞧瞧吧,希望这款苹果电脑中FaceTime怎么设置介绍可以给Mac用户们带来有效的帮助. 苹果电脑中FaceTime怎么设置介绍: 1.在 Mac 上打开 FaceTime 以后,请先用我们自己的 Apple ID 来登录 FaceTime 应用,如图所示 2.接下来系统会显示与我们的 A

django中的分页设置

1.在控制台中的展示 from django.core.paginator import Paginator iter = 'abcdefghijklmn' inator = Paginator(iter, 5) page1 = inator.page(1) page1.object_list # 输出当前也的内容 'abcde' page1.number # 输出页码 1 page1.has_next() # 输出是否有下一页 True page1.next_page_number() # 输

在VC++6.0中给对话框设置背景色或者背景图片

/*********************************************************** *说明: 在VC++6.0中给对话框设置背景色或者背景图片 *备注:测试代码的对话框程序的工程名为:BJ *原理:在OnPaint()中加入代码 ***********************************************************/ // 注意:去掉相应以 /* */ 注释的注释符号后代码生效 void CBJDlg::OnPaint() {

全面认识Eclipse中JVM内存设置(转)

这里向大家描述一下Eclipse中如何进行JVM内存设置,JVM主要管理两种类型的内存:堆和非堆.简单来说堆就是Java代码可及的内存,是留给开发人员使用的:非堆就是JVM留给自己用的,所以方法区.JVM内部处理或优化所需的内存(如JIT编译后的代码缓存).每个类结构(如运行时常数池.字段和方法数据)以及方法和构造方法的代码都在非堆内存中. Eclipse中JVM内存设置 eclipse.ini内存设置 -vmargs-Xms128M-Xmx512M-XX:PermSize=64M-XX:Max

android中给Dialog设置的动画如何自定义修改参数

============问题描述============ 在android中给Dialog设置动画的方法我只找到Dialog.getWindow().setWindowAnimation(int resID); 这样不是只能在styles里用xml定义动画吗? 但是我现在想要先用程序计算出一个屏幕上的点,在让Dialog从该点开始执行scaleAnimation. 我如何给我Dialog的动画设置起始点之类的参数呢? ============解决方案1============ 自定义一个dial

android在代码中四种设置控件背景颜色的方法(包括RGB)

转载请注明出处: http://blog.csdn.net/fth826595345/article/details/9208771  TextView tText=(TextView) findViewById(R.id.textv_name); //第1种: tText.setTextColor(android.graphics.Color.RED);//系统自带的颜色类 // 第2种: tText.setTextColor(0xffff00ff);//0xffff00ff是int类型的数据

android中的颜色设置

1.在android中经常看到设置的颜色为八位的十六进制的颜色值,例如: 1 2 3 public static final class color {     public static final int lightblue=0x7f040000; } 或者在Java中tx.setTextColor(0xffff00f); 说明: 0xffff00ff是int类型的数据,分组一下0x|ff|ff00ff,0x表示颜色整数的标记,ff表示透明度,f00f表示色值,注意:0x后面ffff00ff