首页 > 解决方案 > 颜色代码的十进制表示中减去 16 ^ 6 的原因是什么?

问题描述

我发现了一个奇怪的规范,用于在项目中用单个整数变量表示颜色。

在该规范中,公式制定者使用将 rgb 颜色转换为十进制数并减去 16 ^ 6 的值
。例如,在黄色的情况下,它是 rgb 中的 (255, 255, 0),因此它是 FFFF00十六进制,所以转换成十进制,就是16776960。问题是在这之后,在我找到的规范中,公式器使用值“-256”(16776960减16^6)作为整数值来表示颜色。

这些规格通用吗?
你为什么不按原样使用 16776960 呢?
(不是因为会短。比如黑色的情况下,十进制为0,但使用-16777216(0-16^6)。)

注:
由于我没有看源码,只是偶然按照这里描述的算法复制的,不一定是这里描述的思路相同的代码。应用端是Java,后端是PHP写的项目,可能与那些库的影响有关。

标签: javaphpcolorsrgbrgba

解决方案


推荐阅读