我怎样才能使画布某些部分透明?我希望用户能够擦除像这样的照片link显示为透明的部分。我的画布代码:
Canvas(
modifier = modifier
.background(Color.Transparent)
) {
with(drawContext.canvas.nativeCanvas) {
val checkPoint = saveLayer(null, null)
drawImage(
image = bitmap,
srcSize = IntSize(bitmap.width, bitmap.height),
dstSize = IntSize(canvasWidth, canvasHeight)
)
drawPath(
path = erasePath,
style = Stroke(
width = 30f,
cap = StrokeCap.Round,
join = StrokeJoin.Round
),
blendMode = BlendMode.Clear,
color = Color.Transparent,
)
restoreToCount(checkPoint)
}
}
字符串
1条答案
按热度按时间jdg4fx2g1#
你得到的透明是
Color(0x00000000)
,你得到的白色是你的背景的颜色,即使你的画布有透明的背景,你的根或父组合的颜色是白色。你需要先画棋盘布局或棋盘图像,在图层中你应该用
BlendMode.Clear
画出你的图像和路径字符串
充分执行
型
结果
的数据