我想在Android Jetpack Compose中使用colorFilter实现将彩色图片显示为黑白图像,该怎么做?
Image(
painter = painter, contentDescription = null,
modifier = Modifier
.fillMaxSize(),
contentScale = scale,
colorFilter = null
)
我想在Android Jetpack Compose中使用colorFilter实现将彩色图片显示为黑白图像,该怎么做?
Image(
painter = painter, contentDescription = null,
modifier = Modifier
.fillMaxSize(),
contentScale = scale,
colorFilter = null
)
您还可以使用ColorFilter.tint(color = ...)
。
Image(
painter = painter, contentDescription = null,
modifier = Modifier
.fillMaxSize(),
contentScale = scale,
colorFilter = ColorFilter.tint(color = MaterialTheme.colors.onBackground)
)
我们可以通过使用colorMatrix轻松实现这一点:
val matrix = ColorMatrix()
matrix.setToSaturation(0F)
Image(
painter = painter, contentDescription = null,
modifier = Modifier
.fillMaxSize(),
contentScale = scale,
colorFilter = ColorFilter.colorMatrix(matrix)
)
colorFilter = ColorFilter.colorMatrix(ColorMatrix().apply { setToSaturation(0f) })
。 - kevoroid
Color.Black
而不是MaterialTheme.colors.onBackground
/MaterialTheme.colorScheme.onBackground
。 - ubuntudroid