java - 颜色代码的十进制表示中减去 16 ^ 6 的原因是什么?
问题描述
我发现了一个奇怪的规范,用于在项目中用单个整数变量表示颜色。
在该规范中,公式制定者使用将 rgb 颜色转换为十进制数并减去 16 ^ 6 的值
。例如,在黄色的情况下,它是 rgb 中的 (255, 255, 0),因此它是 FFFF00十六进制,所以转换成十进制,就是16776960。问题是在这之后,在我找到的规范中,公式器使用值“-256”(16776960减16^6)作为整数值来表示颜色。
这些规格通用吗?
你为什么不按原样使用 16776960 呢?
(不是因为会短。比如黑色的情况下,十进制为0,但使用-16777216(0-16^6)。)
注:
由于我没有看源码,只是偶然按照这里描述的算法复制的,不一定是这里描述的思路相同的代码。应用端是Java,后端是PHP写的项目,可能与那些库的影响有关。
解决方案
推荐阅读
- c# - 使用特定命令描述数组转换
- android - 在 Android Studio (LogCat) 中禁用日志铬
- php - MySQL / PHP - 在 SELECT 语句的 WHERE 部分计算多个变量
- sql - 返回 sql server 中当前长时间运行的查询
- javascript - 使用 jQuery 变量作为 HTML 属性
- javascript - 原型和__proto__,哪个说法是正确的?
- c# - ASP.NET 按日期范围对多个 SQL 数据库表进行排序
- c# - 无法访问语言资源
- javascript - 将具有特定类的所有字体真棒 5 图标更改为另一个 FA 图标 - JS/SVG
- php - Woocommerce 设置 API“保存更改”按钮行为?