gpt4 book ai didi

kotlin - 我如何在 Android Jetpack Compose 中的 Canvas 上绘制单侧加厚描边?

转载 作者:行者123 更新时间:2023-12-05 09:26:45 27 4
gpt4 key购买 nike

这是我的代码;

Box(
modifier = Modifier.fillMaxSize(),
contentAlignment = Alignment.Center
){
Canvas(
modifier = Modifier
.fillMaxSize(0.5f)
.border(1.dp, Color.Red)
){
drawRect(
color =Color.Black,
size = size,
style = Stroke(
width = 100f
)
)
}
}
}

结果;

enter image description here

我希望厚度从红线的内侧或外侧增加,而不是两侧。我怎样才能做到这一点?

最佳答案

您必须考虑 Rect 的偏移量和宽度。

要在外面画画,你可以使用:

        val width = 100f
drawRect(
topLeft = Offset(-width/2, -width/2),
color =Color.Black,
size = Size(size.width + width, size.height + width),
style = Stroke(
width = width
)
)

绘制内部:

        val width = 100f
drawRect(
topLeft = Offset(+ width/2, + width/2),
color =Color.Black,
size = Size(size.width - width, size.height - width),
style = Stroke(
width = width
)
)

enter image description here enter image description here

关于kotlin - 我如何在 Android Jetpack Compose 中的 Canvas 上绘制单侧加厚描边?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73414363/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com