热门标签 | HotTags
当前位置:  开发笔记 > IOS > 正文

捏合手势迅速放大和缩小相机

如何解决《捏合手势迅速放大和缩小相机》经验,为你挑选了1个好方法。

我在应用中使用前置摄像头。我希望在拍照时用户可以放大和缩小相机

我尝试了这段代码

let device = AVCaptureDevice.default(for: .video)
print(sender.scale)
let vZoomFactor = sender.scale * prevZoomFactor
if sender.state == .ended {
    prevZoomFactor = vZoomFactor >= 1 ? vZoomFactor : 1
}

if sender.state == .changed{
    do {
        try device!.lockForConfiguration()
        if (vZoomFactor <= device!.activeFormat.videoMaxZoomFactor) {
            device!.videoZoomFactor = max(1.0, min(vZoomFactor, device!.activeFormat.videoMaxZoomFactor))
            device?.unlockForConfiguration()
        } else {
            print("Unable to set videoZoom: (max \(device!.activeFormat.videoMaxZoomFactor), asked \(vZoomFactor))")
        }
    } catch {
        print("\(error.localizedDescription)")
    }
}

后置摄像头中的所有功能均正常运行,但前置摄像头未应用变焦。



1> Naqeeb Ahmed..:

好吧,花了几个小时在这段代码上之后,我到了我犯错的地方。

let device = AVCaptureDevice.default(for: .video)

默认情况下,这将使后置摄像头正常工作,但是当我将其切换到前置摄像头之前,直到将其视为后置摄像头,所以我只是添加了一个条件

    if  currentcam == frontcam {
                let device = frontcam
                //did other stuff for zooimng
                 } 
   else
  {
     let device = AVCaptureDevice.default(for: .video)
     //did other stuff for zooimng
  }

这对我来说很好


推荐阅读
author-avatar
692-LCP_207
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有