作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想将位图着色为不同的颜色。感谢this SE question当我在 Canvas 上绘制它时,我可以将它染成不同的颜色。
Paint p = new Paint(Color.RED);
ColorFilter filter = new LightingColorFilter(Color.RED, 1);
p.setColorFilter(filter);
但这似乎不适用于 Color.WHITE
(可能是因为我的位图仅以一种颜色着色)。我想要原始位图的白色形状(只有透明+白色)
最佳答案
好的。我在这里为可能遇到此问题的人回复。
为了保持位图的形状并为其着色,您需要使用 PorterDuffColorFilter
而不是我最初使用的 LightingColorFilter
。
filter = new PorterDuffColorFilter(Color.WHITE, PorterDuff.Mode.SRC_ATOP);
mPaint.setColorFilter(filter);
第二个参数是一个PorterDuff.Mode
,你可以找到完整列表here
关于android - 如何将 Android 位图着色为白色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23939035/
我是一名优秀的程序员,十分优秀!