android - Android:如何在 Kotlin 中对 Drawable/Bitmap 应用颜色?
问题描述
我想创建一个使用有色图标的快捷方式,所以我不能只为 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)
推荐阅读
- ansible - 以 ansible 运行 filebeat
- excel - 我的下一个序列码有问题
- swift - CATransformation3D 转换标签未保存在图像上
- sql-server - 如何区分工作流中 SQL 任务中的变量?
- javascript - 获取被拖动元素的上/左坐标(不是指针)
- java - JavaFX App 在 Intellij 下工作但不是 jar
- javascript - JS克隆后用按钮删除div
- azure - 适用于 Apple iOS 13 的 Azure 推送通知服务失败
- fpga - 如何修复 quartus 14.1 web edition on linux 在使用几分钟后抛出的这个错误?
- serverless-framework - 文件 '../foo.ts' 不在 rootDir 下。rootDir 应包含所有源文件