在将预览图层坐标系中的矩形转换为坐标系时,不能达到100%的精度。所有矩形显示略低。
我使用layerRectConverted(fromMetadataOutputRect:)
这是我的代码:
let layers: [CAShapeLayer] = observations.map { observation in
// calculate view rect
var transformedRect = observation.boundingBox
transformedRect.origin.y = 1 - transformedRect.origin.y
self.cameraLayer.layerRectConverted(fromMetadataOutputRect: transformedRect)
let layer = CAShapeLayer()
layer.frame = convertedRect
layer.borderColor = UIColor.red.cgColor
layer.borderWidth = 1
layer.cornerRadius = 3
return layer
}
任何人都可以帮忙,我做错了什么?
答案 0 :(得分:0)
很简单。 您需要按垂直方向翻转rect,但是您更改了原点y坐标并忘记了翻转rect本身。
只需增加高度
transformedRect.origin.y = 1 - transformedRect.origin.y - transformedRect.size.height
您将获得正确的包装盒位置。