好的,我原来的问题已经改变了。我该如何改变这种影响的强度?
DayToNight.setXfermode(new PorterDuffXfermode(Mode.DST_IN));
在我的梦想世界里它会像这样工作
DayToNight.setXfermode(new PorterDuffXfermode(Mode.DST_IN(10)));
10 代表强度水平。
一个例子是,如果我有一根闪烁的蜡烛,当蜡烛燃烧得很亮时,我希望我在屏幕上绘制的位图保留其原甘醇颜色和亮度,当它闪烁时,我希望位图几乎变黑,我想在光线变暗时使位图变暗。
我有方程式、计时器和所有计算出来的东西,只是不知道如何实际应用它来改变颜色/亮度。 也许刻录图像是我要找的? 我只想改变亮度,哈哈。
我觉得使用 paint.setShader 可能是一种解决方案,但从我所能找到的信息来看,这方面的信息非常有限。任何帮助将不胜感激。
编辑:明确地说,我正在寻找一种在将位图绘制到 Canvas 时使它们变亮/变暗的方法
最佳答案
这两种方法可能会解决您的问题:
在位图后面放一个深色矩形并设置位图的 不透明度。
绘制位图时,在 Paint 上使用 ColorFilter。要使位图变暗,请使用半透明的黑色
关于java - 在 Android Paint 类中使用 PorterDuffXfermode 更改位图上的亮/暗强度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11174583/