我已经安装了 Xcode beta 5。现在我有一个与 Vision 框架和
VNFaceLandmarkRegion2D
对象相关的警告,尤其是:
“point(at:)”在 iOS 11.0 中已弃用
关于文档
point(at:)
和 points
在 iOS 11 中被引入和弃用。无论如何,现在我可以获得面部标志点?
在上次 Xcode 更新中
VNFaceLandmarkRegion2D
已更改。现在不需要将 x 和 y 转换为 CGPoint
对象。 VNFaceLandmarkRegion2D
有 normalizedPoints
,一个由 CGPoint
组成的数组。
您可以尝试点的替代方案(at:),如下所示:
if let landmark = face.landmarks?.leftEye {
for i in 0...landmark.pointCount - 1 { // last point is 0,0
let point = landmark.normalizedPoints[i]
if i == 0 {
context?.move(to: CGPoint(x: x + CGFloat(point.x) * w, y: y + CGFloat(point.y) * h))
} else {
context?.addLine(to: CGPoint(x: x + CGFloat(point.x) * w, y: y + CGFloat(point.y) * h))
}
}
}