你如何在Android中为一个位图着色?

Fop*_*ega 19 android image bitmap

我使用以下调用在画布上绘制一个位图:

_playerImage = BitmapFactory.decodeResource(getResources(), R.drawable.player);
Run Code Online (Sandbox Code Playgroud)

我现在怎么能把这张图片变成白色?当敌人被子弹击中时,我正试图使图像像顶部卷轴一样闪烁白色.

我需要使用BitmapFactory以外的东西吗?

Rom*_*Guy 46

你可以使用ColorFilter你的Paint当你画的位图.

  • 辉煌!万分感谢!"Paint p = new Paint(Color.RED); ColorFilter filter = new LightingColorFilter(Color.RED,1); p.setColorFilter(filter);" (8认同)
  • @ P.Melch很好的问题(这个很老,但是我把它放在这里,因为它是相关的,而其他人可能觉得它很有用)...如果你有一套相对较小的颜色,你可以保留几个实例(可能使用池的ColorFilter对象,因为LightingColorFilter似乎不支持更改其颜色.如果有人有更好的想法,那肯定会有所帮助. (2认同)
  • 注意:FoppyOmega的代码片段应为"Paint p = new Paint();".Paint的构造函数的可选int参数是_not_ a color.我被困在这一段时间因为它编译得很好:/. (2认同)