zoukankan      html  css  js  c++  java
  • AVfoundation中焦距的设置(slider实现拉近拉远镜头) -自定义UISlider

    首先设置一个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;

        }];


    }

  • 相关阅读:
    TP5.1 遇见问题整理
    PDO 基础
    php7 连接 mysql 的两种方式
    [php] 添加接口访问日志(文件)
    curl 向远程服务器传输file文件
    VBoxManage
    linux 系统下安装多个php版本
    vim中文乱码问题
    vim 翻页命令
    php list()函数
  • 原文地址:https://www.cnblogs.com/allanliu/p/4277438.html
Copyright © 2011-2022 走看看