我正在尝试实现一项功能来检测漫画气泡语音。
我正在对我的设备进行屏幕截图并接收来自 API 的响应,一旦返回,我就用画布绘制一些矩形。但我似乎无法以任何方式对齐这些矩形。
既然我看到你以前用过它,我想你会知道我的问题是什么。你能帮我吗?
我的代码:
@Composable
internal fun ScreenShotDrawSpeech(
bubbleDomain: BubbleDomain,
modifier: Modifier = Modifier,
) {
Canvas(
modifier = modifier
.fillMaxSize()
.background(background_overlay),
onDraw = {
bubbleDomain.predictions.forEach { prediction ->
val left = prediction.x
val top = prediction.y
drawRect(
color = Color.Red,
topLeft = Offset(left.toFloat(), top.toFloat()),
size = Size(prediction.width.toFloat(), prediction.height.toFloat()),
style = Stroke(width = 2f),
)
}
},
)
}
结果:
您的预测坐标似乎指定了气泡的中心。
用它来确定矩形的
left
和 top
:
val left = prediction.x - prediction.width / 2
val top = prediction.y - prediction.height / 2