if(isPortraitMode()){
_scaleY = overlayView.height.toFloat() / imageWidth.toFloat()
_scaleX = overlayView.width.toFloat() / imageHeight.toFloat()
}else{
_scaleY = overlayView.height.toFloat() / imageHeight.toFloat()
_scaleX = overlayView.width.toFloat() / imageWidth.toFloat()
}
现在我有了比例,我可以用firebase探测器返回边界框,然后用比例转换x和y坐标
private fun translateX(x: Float): Float = x * _scaleX
private fun translateY(y: Float): Float = y * _scaleY
private fun translateRect(rect: Rect) = RectF(
translateX(rect.left.toFloat()),
translateY(rect.top.toFloat()),
translateX(rect.right.toFloat()),
translateY(rect.bottom.toFloat())
)
然后给出缩放的矩形坐标,然后在屏幕上绘制