“如何使用 roboflow 和 jetpack compose 对齐绘图中的矩形?

问题描述 投票:0回答:1

我正在尝试实现一项功能来检测漫画气泡语音。

我正在对我的设备进行屏幕截图并接收来自 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),
                )
            }
        },
    )
}

结果:

Screenshot_20240506_091529

android kotlin android-jetpack-compose roboflow
1个回答
0
投票

您的预测坐标似乎指定了气泡的中心。

用它来确定矩形的

left
top

val left = prediction.x - prediction.width / 2
val top = prediction.y - prediction.height / 2
© www.soinside.com 2019 - 2024. All rights reserved.