Apple原装扫描二维码指定区域

简介: 之前记录了用Apple原装的AVFoundationo类库扫描二维码:http://www.cnblogs.com/foxting/p/4733226.html,此篇记录下如何设置扫描区域。  AVCaptureMetadataOutput有一个属性rectOfInterest,设置你的区域即可。

之前记录了用Apple原装的AVFoundationo类库扫描二维码:http://www.cnblogs.com/foxting/p/4733226.html,此篇记录下如何设置扫描区域。

 AVCaptureMetadataOutput有一个属性rectOfInterest,设置你的区域即可。

先把Video区域设置成全屏的:self.layer?.frame = self.view.bounds

看下rectOfInterest的注释会知道它的区域大小是先设置top再设置left,有效范围为(0,0,1,1)

@discussion
        The value of this property is a CGRect that determines the receiver's rectangle of interest for each frame of video.  
        The rectangle's origin is top left and is relative to the coordinate space of the device providing the metadata.  Specifying
        a rectOfInterest may improve detection performance for certain types of metadata. The default value of this property is the
        value CGRectMake(0, 0, 1, 1).  Metadata objects whose bounds do not intersect with the rectOfInterest will not be returned.

键入以下代码

let x = (self.view.bounds.size.width - 268) / 2
let beginningX = x / self.view.bounds.width
let beginningY = 106 / self.view.bounds.height
let width = 268 / self.view.bounds.width
let height = 268 / self.view.bounds.height
let interestedRect = CGRectMake(beginningY, beginningX, height, width)

let output = AVCaptureMetadataOutput()
output.rectOfInterest = interestedRect

 实现的效果还是可以的,此设置还是蛮方便的。上图咯:

目录
相关文章
|
6月前
|
编解码 算法 Python
浅析You-Get:这款视频下载工具的强势之处
浅析You-Get:这款视频下载工具的强势之处
175 0
Mobile - 小米手机如何开通应用分身?应用多开?
Mobile - 小米手机如何开通应用分身?应用多开?
500 0
Mobile - 小米手机如何开通应用分身?应用多开?
Win系统 - PC电脑端微信表情和图片转圈解决方案
Win系统 - PC电脑端微信表情和图片转圈解决方案
1336 0
Win系统 - PC电脑端微信表情和图片转圈解决方案
|
传感器 安全 小程序
小程序对IPhone全面屏手机底部黑线的安全区域处理
小程序对IPhone全面屏手机底部黑线的安全区域处理
371 0
小程序对IPhone全面屏手机底部黑线的安全区域处理
「镁客早报」彭博社称苹果考虑在WWDC上展示Mac Pro工作站;三星发布折叠屏手机Galaxy Fold,售价过万
NASA发现海王星上最小的卫星;基因治疗手术首次用于老年性黄斑变性治疗。
393 0
|
iOS开发 Windows Android开发
如何把小米手机便签内容云同步到iPhone XS上?
云同步指的是在云平台上以个人为中心的不同设备之间数据共享。 那么小米手机与iPhoneXS都是支持用户个人云服务的设备,两款手机上备忘的内容能够实现共享吗? 答案显而易见,不可以。
3898 0
华为手机的备忘录内容如何快速导出到小米手机?
​华为手机的备忘录内容如何快速导出到小米手机? 因为华为手机和小米手机是不同的品牌,不支持官方数据的云服务导入导出,想要将华为手机的备忘录内容导出到小米手机,一般采用的方法是借助备忘录的分享功能,将华为手机的备忘录内容逐条分享到微信或者qq上,然后再复制粘贴到小米手机的备忘录。
8528 0
|
数据安全/隐私保护
华为手机的备忘录内容如何导出到OPPO手机?
华为手机的备忘录内容如何导出到OPPO R15? 张雯前几天买了OPPO R15,需要考虑如何将记在华为手机的备忘录内容导出,华为手机用了两年了,记录了太多内容,因为是不同品牌的手机,不支持官方的云服务导入,按照百度上的方法,需要先将备忘录内容一条条分享到微信上,然后再复制粘贴到新的手机备忘录上。
7477 0
|
Web App开发
怎样把小米6手机便签内容移到荣耀10手机?
朋友老张从小学开始,就喜欢给自己设定目标,做计划任务,这个习惯一下子就延续到了大学毕业。工作之后的老张依旧喜欢给自己做每日计划、每周计划、每月计划、年度计划,但是因为平时工作太忙,写计划的小本子,总是没时间打开,计划也就不能按时完成。
1514 0
|
Web App开发
魅族手机里的便签怎么导出转移到新的手机上?
魅族手机时尚简约,清新文艺,受到不少年轻人的青睐。 其手机便签可以设置主题,既文艺又别致。同时,如果想要把旧的魅族手机里的便签内容导出转移到新的魅族手机上,只需要在旧的魅族手机中开启云同步功能,将便签内容同步到云端,然后在新的魅族手机上登录自己的魅族账号,能够把云端的便签内容同步到新手机上。
7699 0
下一篇
无影云桌面