【发布时间】:2016-03-25 14:04:40
【问题描述】:
我遇到以下问题:我正在使用 AVFoundation 扫描二维码。这很好用,我还可以通过添加子视图在代码周围创建边框,并通过subview.frame = qrCodeObject.bounds 设置frame 属性。这只存在边框只是一个矩形的问题,并且忽略了二维码的视角。
我知道 qrCodeObject 有一个属性corners,它包含检测到的二维码的右上角、左上角、右下角和左下角。
我现在的问题是:如何将这些角点应用于“边框”视图,以使该边框与 QR 码具有相同的视角?或者换句话说:如何根据角点“变换”视图?
提前非常感谢!
更新:
在这里你可以看到问题:红色框是一个 UIView,它的frame 属性设置为二维码bounds 属性。这错过了视角。我想将 UIView(红色框)转换为跟随二维码的corners 属性,包括二维码的右上角、左上角、右下角和左下角(CGPoint)。将它应用到 UIView 很重要,因为我稍后想将它应用到 ImageView。遮罩也不可用,因为它只是隐藏了视图的一部分,但不会拉伸或变换视图的内容。
【问题讨论】:
-
不清楚你在问什么。当手机与您正在扫描的二维码平面不完全平行时,您是否正在尝试处理您得到的视差失真? (有时称为“梯形失真”效果。)您是想在 QR 码周围绘制 4 条具有与 QR 码相同的透视变形的线,还是要转换 QR 码的图像使其看起来是方形的再来一次?
-
我刚刚更新了我的问题以使其更清楚。提前感谢您的帮助!
-
是角落的
CGPoints吗? -
是的,这是
CGPoint的数组
标签: ios swift uiview avfoundation