我有一张白色图像,在应用程序中我需要以多种不同的颜色显示该图像。
有没有办法以编程方式更改白色图像的颜色,这样我就不需要为每种颜色提供单独的图像?
现在我有这个:
button.setBackgroundResource(getResources().getIdentifier("image_white", "drawable", getPackageName()));
最佳答案
是的,很简单。您可以使用颜色滤镜以编程方式更改任何图像的颜色。
这是一个有关如何使用它的简单示例。
ImageView imageView = (ImageView) findViewById(R.id.imageV);
imageView.setColorFilter(Color.RED, PorterDuff.Mode.SRC_IN);
图像的颜色将更改为红色。您可以使用您选择的任何颜色,但主要的魔力在于为 PorterDuff
使用正确的模式。如果您对结果不满意,也可以使用 PorterDuff.Mode.SRC_ATOP
进行尝试。
关于java - 你能以编程方式改变图像的颜色吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42319757/