Android:如何在 Kotlin 中对 Drawable/Bitmap 应用色调?
Android: How can I apply a tint to a Drawable/Bitmap in Kotlin?
我想使用有色图标创建快捷方式,所以我不能只为 ImageView 添加颜色。我是这样做的:
val drawableExample: Drawable
val colorExample: Int
drawable?.colorFilter = PorterDuffColorFilter(colorExample, PorterDuff.Mode.SRC_IN)
val icon: Icon = Icon.createWithBitmap(drawable?.toBitmap(256, 256, null))
如果您的源图像已经是位图,请参阅已接受的答案以了解有关如何执行此操作的详细信息。它让我走上了正确的轨道,找到了适合我的稍微简单的解决方案。
您可以使用colorFilter
val paint = Paint()
paint.setColorFilter(PorterDuffColorFilter(targetColor, PorterDuff.Mode.SRC_IN))
canvas.drawBitmap(resource, matrix, paint)
我想使用有色图标创建快捷方式,所以我不能只为 ImageView 添加颜色。我是这样做的:
val drawableExample: Drawable
val colorExample: Int
drawable?.colorFilter = PorterDuffColorFilter(colorExample, PorterDuff.Mode.SRC_IN)
val icon: Icon = Icon.createWithBitmap(drawable?.toBitmap(256, 256, null))
如果您的源图像已经是位图,请参阅已接受的答案以了解有关如何执行此操作的详细信息。它让我走上了正确的轨道,找到了适合我的稍微简单的解决方案。
您可以使用colorFilter
val paint = Paint()
paint.setColorFilter(PorterDuffColorFilter(targetColor, PorterDuff.Mode.SRC_IN))
canvas.drawBitmap(resource, matrix, paint)