Wal*_*olk 4 javascript php rgb decimal
我试图将十进制值转换回RGB值.
假设这是编译小数值的公式
c = r*(255*255)+g*255+b
Run Code Online (Sandbox Code Playgroud)
(例如rgb(16,120,78)加起来为1071078)
如何在没有任何"溢出"的情况下解决r,g和b?
提前致谢!
使用除法,modulo(%)和floor舍入:
var r = Math.floor(c / (256*256));
var g = Math.floor(c / 256) % 256;
var b = c % 256;
Run Code Online (Sandbox Code Playgroud)
halex在代码中发现了使用255和256的差异.当你将组件放在一起时,你应该(正如Millie Smith指出的那样)使用256而不是255:
var c = r * (256*256) + g * 256 + b;
Run Code Online (Sandbox Code Playgroud)
颜色组件的值可以是0到255,因此您需要乘以256以使下一个组件与前一个组件重叠.
| 归档时间: |
|
| 查看次数: |
1600 次 |
| 最近记录: |