5

我目前正在研究颜色操作/选择等,并遇到了以下代码。我想知道有人可以告诉我下面的代码在做什么,并为我分解它,谢谢!

$newVal = round(round(($rgb['red'] / 0x33)) * 0x33);

特别是什么是 0x33

提前感谢

4

4 回答 4

3

它似乎正在转换$rgb['red']最接近的 0x33 倍数。

它可能是这样做的,所以颜色最终会出现在所谓的“网络安全”调色板中,它(如果我没记错的话)由 rgb 值是 0x33 倍数的颜色组成。

0x33 是 51(十进制)的 base-16(十六进制)表示。

于 2010-04-13T00:33:09.197 回答
1

0x33 是 51,因此它将单个字节的 0-255 值缩放为 0-5,然后将其缩小。这导致该值被限制为低于该值的 51 的最高倍数。

于 2010-04-13T00:33:31.903 回答
0

正如@Seth 所指出的,它将颜色四舍五入到最接近的“网络安全”颜色。这是一个古老的想法,可以追溯到大多数彩色显示器都是 8 位的时候。使它流行的人之一是 Visibone,因为他们的“网络安全颜色图表”是他们的第一个产品。

有关详细信息,请参阅Web 颜色

于 2010-04-13T02:11:00.887 回答
0

0x33 只是 33 的十六进制值。

我不太确定发生了什么,但我猜它会计算任何颜色的网络安全十六进制。或类似的东西。

于 2010-04-13T00:32:12.187 回答