如何在 Jetpack Compose 中使用 drawRoundRect 仅将底部 2 个角圆化 Canvas

How to round only bottom 2 corners with drawRoundRect in Jetpack Compose Canvas

正如标题所说,我只是想弄清楚如何只将圆形矩形的底部 2 个角倒圆角。

drawScope.drawRoundRect(
                topLeft = Offset(0f,0f),
                size = Size(100f,100f),
                cornerRadius = CornerRadius(x = 10f, y = 10f),
                color = boxPaint.color
            )

这是我当前的代码,它绕过所有角落。

好像drawRoundRect你只能设置左角或右角半径。

当您发现 Canvas API 缺少某些东西时,您几乎可以使用 Path 绘制任何东西 - 它具有更灵活的 API.

val cornerRadius = CornerRadius(10f, 10f)
val path = Path().apply {
    addRoundRect(
        RoundRect(
            rect = Rect(
                offset = Offset(0f, 0f),
                size = Size(100f, 100f),
            ),
            bottomLeft = cornerRadius,
            bottomRight = cornerRadius,
        )
    )
}
drawPath(path, color = Color.Red)