如何将 RGB 颜色值转换为纯十进制?
所以我有: RGB(255,255,255) 是白色
其十进制等效值为:16777215
我试过认为这可能只是:
var dec = r*g*b; // but this doesn't work
虽然那不起作用。
有人知道从 RGB(或 rgba)转换为十进制的算法/方程吗?
RGB 整数通常被视为三个不同的字节,其中最左边(最高阶)字节是红色,中间字节是绿色,最右边(最低阶)字节是蓝色。您可以像这样检索这些单独字节的值:
var c = 0xff03c0; // 16712640
var components = {
r: (c & 0xff0000) >> 16,
g: (c & 0x00ff00) >> 8,
b: (c & 0x0000ff)
};
您可以通过将字节移回其中来从其组件重新创建颜色:
c = (components.r << 16) + (components.g << 8) + (components.b);
在你的情况下,只需替换components.r
(等等)与您的实际变量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)