iOS 模仿微信扫描二维码放大功能
我们知道,微信扫描二维码过程中,如果二维码图片焦距比较远,会拉近焦距,实现放大功能。这种效果如何该实现,用原生的API又是如何实现。本文简单尝试如何使用AVFoundation实现放大二维码图片。重点是如何定位二维码和放大二维码,前面介绍了 iOS 扫描二维码实现手势拉近拉远镜头 iOS 识别过程中描绘二维码边框 和iOS 识别过程中描绘二维码边框 ,我们可以很简单的实现二维码定位和放大。
- (void)changeVideoScale:(AVMetadataMachineReadableCodeObject *)objc
{NSArray *array = objc.corners;CGPoint point = CGPointZero;int index = 0;CFDictionaryRef dict = (__bridge CFDictionaryRef)(array[index++]);// 把点转换为不可变字典// 把字典转换为点,存在point里,成功返回true 其他falseCGPointMakeWithDictionaryRepresentation(dict, &point);NSLog(@"X:%f -- Y:%f",point.x,point.y);CGPoint point2 = CGPointZero;CGPointMakeWithDictionaryRepresentation((__bridge CFDictionaryRef)array[2], &point2);NSLog(@"X:%f -- Y:%f",point2.x,point2.y);CGFloat scace =150/(point2.x-point.x); //当二维码图片宽小于150,进行放大if (scace > 1) {[self setVideoScale:scace];}return;
}
上面代码实现检测二维码边长小于150时,进行放大。具体可以根据需求设置,并实现二维码位置的调整。Git Demo
iOS 模仿微信扫描二维码放大功能相关推荐
- iOS - 需求 - 微信扫描二维码支付(草稿)
首先先讲一下这个流程: 1.商户即公司,根据微信官方支付的规则,为不同的商品或者是订单号生成不同的链接,将链接转换成二维码. 2.用户扫描二维码 3.微信客户端引导用户完成支付 4.用户完成支付,用户 ...
- iOS开发 - 微信扫描二维码登录网页的原理
转自: http://daily.zhihu.com/story/3783725 我个人开发过程一般是和产品说,『你们提业务要求.交互方式.性能要求等就好,技术方案我们会综合开发时间.系统架构等因素考 ...
- 微信扫描二维码和浏览器扫描二维码 ios和Android 分别进入不用的提示页面
实现微信扫描二维码和浏览器扫描二维码 ios和Android 分别进入不用的提示页面 而进入商城下载该项目 详情地址:gitee.com/DuJiaHui123- 1.创建完之后 替换文件里面的ios ...
- 微信扫描二维码实现自动跳转 微信直接下载App(iOS/Android)的解决方案
微信扫描二维码实现自动跳转 微信直接下载App(iOS/Android)的解决方案 参考文章: (1)微信扫描二维码实现自动跳转 微信直接下载App(iOS/Android)的解决方案 (2)http ...
- 微信扫描二维码快速登录网站
在近期的一个项目中用到了微信扫描注册.登录网站功能所以整理了下希望对读者有帮助. 首先,你需要有一个没有绑定微信.微信公众平台的邮箱注册成为微信开放平台开发者,在管理中心创建移动应用.或者网站应用获得 ...
- 微信扫描二维码跳转页面
微信扫描二维码跳转页面 近在完成一个大作业,反正一个小部分就是扫描二维码,跳转到一个界面去,搜网上也没有什么太有用的信息,觉得难死了.. 后来想想,以前写过一个程序,就是把字符串生成相应的二维码,然后 ...
- 微信扫描二维码在内置浏览器打不开文件的下载链接怎么办?哪些api接口可以解决...
有哪些api接口可以实现微信扫描二维码在内置浏览器打开文件的下载链接? 经常看到贴吧上有人吐槽微信的检测系统太严格了,动不动就拦截第三方链接.怎么才能解决,怎么才能避免等等一系列的问题.因为平时我也会 ...
- 微信扫描二维码-电脑上网
展视网北京科技有限公司--cuidc 由于 wifi 成为人们生活中不可或缺的一部分,店家 wifi 免费上网的招数也就日益增多. 今天我们介绍一种破解<微信扫描二维码上网>的招数,此招数 ...
- 使用电脑微信扫描二维码
使用电脑微信扫描二维码 将二维码图片发送至文件传输助手 在与文件传输助手的聊天界面点开图片,右键,点击识别图中二维码即可 扫描完成.
最新文章
- mysql 数据目录更改
- 【原创】CSSOO的思想及CSS框架的应用(未整理完)
- paper每日谈——动机
- 京东购物车的 Java 架构实现及原理
- springboot接收json参数_Springboot + Vue + shiro 实现前后端分离、权限控制
- [转]项目管理有感之一 沟通
- python大数据招聘信息_2017招聘大数据丨Python需求增速达174%,AI人才缺口超百万!...
- 继C / C ++之后,微软如何全面采用 Rust 的?
- SpringBoot集成dubbo实例
- SLAM学习笔记-------------(六)非线性优化
- 【码学堂】教师如何在码学堂上组织教学活动?
- Mathtype部分符号打不上去或部分符号点击后停止工作
- (转)被讨厌的勇气--目录
- matlab如何表示抗混叠滤波,Matlab在多采样率信号处理教学中的应用
- Java十进制转三进制
- JSCharting JavaScript 3.3.X 12/17/2022 Crack
- scapy python3_【Python3黑帽子学习笔记 on Mac】第四章 Scapy:网络的掌控者
- Sisvel宣布成立AV1专利池 1050项专利许可面临收费
- 解决ubuntu14.04下,火狐浏览器无法访问csdn官网问题
- (找规律)23,41,18,64,? 问号处填什么?
热门文章
- 1072 开学寄语 Python实现
- 谈谈Linux发行版的入门选择
- Excel:一步搞定平均分 妙用TRIMMEAN函数(转)
- 拼多多又起一事:因为看到同事被抬上救护车我被拼多多开除了
- 欢迎大家关注我的微信公众帐号小q机器人(xiaoqrobot)
- 差文解析 IIRC: Incremental Implicitly-Refined Classification
- 3037 插板法+lucas
- Linux vmwaver下安装cenos联网时出现 network is unreachable问题
- The fundamentals of millimeter wave radar sensors——毫米波雷达传感器基本原理
- 大觉寺到鹫峰线路_大觉寺-萝卜地北尖-鹫峰徒步线路攻略--登山备查