我正在尝试将我们数据库中的这些 5 位 FFXI 颜色代码转换为相应的十六进制颜色代码

问题描述 投票:0回答:0

我非常需要帮助,我们的数据库将颜色存储为 5 位数字(我假设)是十进制数。我试过使用 PHP 进行转换:

以下是其他一些 5 位代码:

function ffxiLinkshellColorToHex($color) {
    $r = ($color & 0x1F) << 3;
    $g = (($color >> 5) & 0x1F) << 3;
    $b = (($color >> 10) & 0x1F) << 3;
  
    $hexR = str_pad(dechex($r), 2, '0', STR_PAD_LEFT);
    $hexG = str_pad(dechex($g), 2, '0', STR_PAD_LEFT);
    $hexB = str_pad(dechex($b), 2, '0', STR_PAD_LEFT);
  
    return "#{$hexR}{$hexG}{$hexB}";
  }

echo ffxiLinkshellColorToHex(61648); // Should output "#00EF00"

但它输出:#8030e0

Example1

它应该是这样的:

Example2

脑子都快晕过去了,感觉答案超级简单

你能帮忙吗。

php colors binary hex decimal
© www.soinside.com 2019 - 2024. All rights reserved.