【发布时间】:2013-01-05 23:14:26
【问题描述】:
我的 GridView 中加载了一些图像,我想使用混合屏幕模式为它们应用微红色。
在我的适配器中,我有这个代码:
ImageView image = (ImageView) findViewById(...);
image.getDrawable().setColorFilter(channel.getSelectedColor(), Mode.SCREEN);
我也试过
image.setColorFilter(channel.getSelectedColor(), Mode.SCREEN);
但我总是得到这样的结果:
如果我使用Mode.Multiply,它不会为透明背景着色,但结果太暗了。是否可以使用Mode.Screen而不给透明部分着色?
我必须创建一个ColorMatrix 吗?有人能指出我正确的方向吗?
【问题讨论】:
-
也许如果你去掉颜色的 alpha 分量:
setColorFilter(channel.getSelectedColor() & 0x00ffffff, Mode.SCREEN)。只是猜测 -
不,这似乎使颜色完全透明。
标签: android graphics drawable colormatrix porter-duff