3

需要将 RGB 或 HEX 颜色转换为“Long Int”以供另一个使用此格式的程序使用。虽然不确定“Long Int”颜色格式的细节。

可以使用此颜色选择器http://hide-inoki.com/en/soft/chunter/index.html手动生成“Long Int”值,但首选 php 函数。

hexdec 会为某些 HEX 值('FFFFFF'、'2F2F2F')生成正确的“Long Int”,但不会为其他值('123456')生成正确的“Long Int”。

4

1 回答 1

7

您应该能够使用PHP 的 hexdec函数。

hexdec('FFFFFF'): 16777215
hexdec('123456'): 1193046

等等

你是说这些值不正确吗?还是您错误地使用了 dechex?


根据您的评论进行更新,该评论说颜色“#123456”应该是“Long Int”格式的“5649426”:

以 16 为基数的 5649426 是 0x563412,因此很明显您的格式需要 BGR 而不是 RGB。

因此,只需先从“RGB”字符串构建一个“BGR”字符串,然后将其提供给 hexdec:

$rgb = '123456';
$bgr = substr($rgb,4,2) . substr($rgb,2,2) . substr($rgb,0,2);
print hexdec($bgr);

产量5649426

于 2010-09-03T01:42:53.660 回答