我需要一些帮助来实现我想要实现的目标。我在我的应用程序中使用 BitmapShader
在 Canvas 上绘图。我将自定义 png 文件设置为我的 paint 变量的着色器,我想更改着色器的颜色。
这是我正在使用的示例代码:
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.particle_point);
BitmapShader shader = new BitmapShader(bitmap, Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
mPaint.setShader(shader);
ColorFilter filter = new LightingColorFilter(0xFFFFFFFF , 0x000000FF );
mPaint.setColorFilter(filter);
我发现我可以通过使用来改变它的颜色:
ColorFilter filter = new LightingColorFilter(0xFFFFFFFF, 0x000000FF);
,但我需要能够通过使用自定义颜色选择器更改它的颜色,它返回类似于以下的颜色代码:-234423123
。
那么有什么方法可以使用这个颜色代码并将其设置为我的 paint 变量的颜色。
提前致谢!
最佳答案
要转换为十六进制的颜色是:FFFFFFFFF206FCAD。所以你需要去掉前 8 个 F:
int color = -234423123;//0xFFFFFFFFF206FCAD
int myColor = 0x00000000FFFFFFFF & color;
myColor 应该没问题。
关于Android BitmapShader改变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10257612/