Java:高效的整数颜色变暗

时间:2017-03-17 23:45:09

标签: java performance colors

所以我正在开发一个程序,需要按一个百分比使颜色变暗(以整数形式表示)。然而,这个过程我需要相对有效;我已经编写的过程工作正常,但我想知道我是否可以将这个算法改进为更有效但保持相似颜色的东西。

我写的第一个算法虽然效率不高,但我感觉好像还有改进的余地: (百分比的数据类型为float,范围为0-1)

((int) (((color >> 16) & 0xFF) * percentage) << 16) | ((int) (((color >> 8) & 0xFF) * percentage) << 8) | ((int) (((color) & 0xFF) * percentage));

所以我把它改进成更高效的东西:

((int) ((color & 0xFF0000) * percentage) & 0xFF0000) | ((int) ((color & 0xFF00) * percentage) & 0xFF00) | ((int) (((color) & 0xFF) * percentage));

因此,如前所述,有什么方法可以进一步改进,但也保持类似的变暗效果,这会产生一种颜色,或者这是否与我能够保持相同效果时一样高效?谢谢!

0 个答案:

没有答案