弃用 VNFaceLandmarkRegion2D 的点
Deprecation of VNFaceLandmarkRegion2D's points
我已经安装了 Xcode beta 5。现在我有一个与 Vision 框架和 VNFaceLandmarkRegion2D
对象相关的警告,特别是:
'point(at:)' was deprecated in 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))
}
}
}
我已经安装了 Xcode beta 5。现在我有一个与 Vision 框架和 VNFaceLandmarkRegion2D
对象相关的警告,特别是:
'point(at:)' was deprecated in 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))
}
}
}