我想将位图着色为不同的颜色.感谢这个SE问题,当我在画布上绘制它时,我能够将它染成不同的颜色.
Paint p = new Paint(Color.RED);
ColorFilter filter = new LightingColorFilter(Color.RED, 1);
p.setColorFilter(filter);
Run Code Online (Sandbox Code Playgroud)
但这似乎无法使用Color.WHITE(可能是因为我的位图仅用1种颜色着色).我想要原始位图的白色形状(只有透明+白色)
好.我在这里回答可能面临这个问题的人.
为了保持位图的形状并将其着色,您需要使用a PorterDuffColorFilter而不是LightingColorFilter最初使用的i.
filter = new PorterDuffColorFilter(Color.WHITE, PorterDuff.Mode.SRC_ATOP);
mPaint.setColorFilter(filter);
Run Code Online (Sandbox Code Playgroud)
第二个参数是a PorterDuff.Mode,你可以在这里找到完整的列表
| 归档时间: |
|
| 查看次数: |
2954 次 |
| 最近记录: |