0

我有一个 ImageView,我在其中放置了一个位图(左),有时我想看到带有半透明蓝色层的位图(右)。我尝试使用 ColorFilter(LightingColorFilter 和 PorterDuffColorFilter),但我得到深蓝色,如何使用 ColorFilter 或其他任何东西来做到这一点?

在此处输入图像描述

谢谢。

编辑(我试过这个和其他变种)

 //ColorFilter filter = new PorterDuffColorFilter(color.wather, PorterDuff.Mode.DST_OVER);
 ColorFilter filter = new LightingColorFilter(color.mul, color.wather);
 // mul = 0xFFFFFFFF and wather = 0x7000FFFF

 BitmapScaler scaler = new BitmapScaler();
 imagen.setImageBitmap(scaler.getScaled());
 imagen.setColorFilter(filter);

我尝试了不同的 mul,添加值并总是得到这个: 在此处输入图像描述

4

1 回答 1

1

我已经找到 mul,添加值,color.xml 有问题,因为我使用 ID 号而不是颜色 RGB 号,大错特错。透明度(Alpha)被忽略,但我可以获得降低附加值强度的效果。

    int mul = 0xFFFFFF;
    int add = 0x005050;
filter = new LightingColorFilter(mul, add);

感谢 Elior 的帮助。

于 2013-04-16T22:15:56.873 回答