美文网首页
Swift AVCapture自定义相机

Swift AVCapture自定义相机

作者: 暴躁的小豆子 | 来源:发表于2019-08-09 19:52 被阅读0次

做项目的时候,设计要求相机相框中间的景物(贴图)

分析: 一、 用ImagePickerViewController 要达到图片效果 系统底部的工具栏不好控制 放弃 

         二 、用AVCaptureSession 需要解决的问题有两个 

                  1.中间镂空view 

                 2.裁剪图片得到不被               覆盖的图片


上代码 

1.用UIBezierPath画一个矩形且镂空

 let path =UIBezierPath(roundedRect:CGRect(x:0, y:0, width:UIDevice.width(), height:UIDevice.hight()), cornerRadius:0)

        path.append(UIBezierPath(roundedRect:rect, cornerRadius:0).reversing())

        letshapeLayer =CAShapeLayer()

        shapeLayer.path= path.cgPath

        backView.layer.mask= shapeLayer

2.牌照出来的图片得到图片的高宽都是图片像素宽高,所以用比例去算镂空区域占图片的rect

func clipWithImageRect( image:UIImage?) ->UIImage? {

        guardletbgImage = image  else{

            returnnil

        }

        //比例

        letx = bgImage.size.width/UIDevice.width() *30

        lety = bgImage.size.height/UIDevice.hight() *100

        letw = (UIDevice.width() -30*2)/UIDevice.width() * bgImage.size.width

        leth = (UIDevice.hight() -100*3)/UIDevice.hight() * bgImage.size.height

        let  clipFrame =CGRect(x: x, y: y, width: w, height: h)

        letrect_Scale =CGRect(x: clipFrame.origin.x, y: clipFrame.origin.y, width: clipFrame.size.width, height: clipFrame.size.height)

        letcgImageCorpped = bgImage.cgImage?.cropping(to: rect_Scale)

        varimg_Clip =UIImage.init(cgImage: cgImageCorpped!, scale:1, orientation:UIImage.Orientation.up)

       img_Clip =UIImage(cgImage: (img_Clip.cgImage)!, scale: img_Clip.scale, orientation: .left)

        returnimg_Clip

    }

效果图:

效果图

资源Demo

相关文章

  • Swift AVCapture自定义相机

    做项目的时候,设计要求相机相框中间的景物(贴图) 分析: 一、 用ImagePickerViewControlle...

  • 关于UIImagePickerController的黑魔法

    前言: 其实我很心痛,有了AVCapture,要啥黑魔法啊?没事找事呢.要定制相机,最灵活的还是AVCapture...

  • iOS-AVCapture,自定义相机功能

    AVCaptureDevice主要用来获取iPhone一些关于相机设备的相关属性。 必须引用一个AVFoundat...

  • ios 设置相机手动对焦(滑块调整焦距)

    最近在做毕设,需要固定相机焦距,但是固定死了也不好,想着怎么自己去调整相机的焦距,翻了半天只发现AVCapture...

  • swift:拍照+录制+相册

    用swift写的一个demo,自定义相机,可以拍照+录制+相册,包含闪光灯,单点缩放,焦距,并且可以自定义:视频码...

  • Swift 4.2 自定义相机

    自定义相机使用 AVFoundation 框架,简单的做了个demo,后面再更新,效果是这样的: 我们需要用到的几...

  • FMCustomCamera 自定义相机(Swift)

    可能用到的delegate接口说明 自定义UI见面,可以自行修改FMCameraView中的代码 相机界面初始化,...

  • AV-自定义相机

    最近重新梳理AVFoundation框架,遂将之前的oc版本自定义相机重构为swift版本 使用到的类主要有: A...

  • Android自定义相机

    CustomCamera android自定义相机 功能描述: 主要可自定义相机的各类按钮布局 相机拍照缩放功能 ...

  • Swift

    1.Swift构建自定义控件2.Swift开发集锦3.Swift构建自定义控件4.Cocoa的Swift开发专题5...

网友评论

      本文标题:Swift AVCapture自定义相机

      本文链接:https://www.haomeiwen.com/subject/dthkjctx.html