Jetpack Compose中如何在画布中偏移图像矢量。

12

我在Canvas中遇到了矢量图的问题。如下所示,我只能调用矢量图,但无法在Canvas中做任何偏移。因此,我只能让它保持原样。

我不知道为什么没有像drawCircledrawRect那样的Offset选项,如果有人有一些想法,那就太好了。

val vector = ImageVector.vectorResource(id = R.drawable.ic_test)
val painter = rememberVectorPainter(image = vector)

Box(contentAlignment = Alignment.Center) {
    Canvas(
        modifier = Modifier
            .fillMaxWidth()
            .padding(10.dp)
    ) {
            with(painter) {
                draw(
                    painter.intrinsicSize
                )
            }

        }
    }

我尝试过将 Offset 添加到 with(painter) 中,但没有任何变化:

with(painter) {
    draw(
        painter.intrinsicSize
    )
    Offset(x = 10f, y = 10f)
}
1个回答

14
你可以使用 DrawScope.translate:
translate(left = 10f, top = 10f) {
    with(painter) {
        draw(
            painter.intrinsicSize
        )
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接