使用 php 将 MS 访问颜色转换为十六进制


Convert MS Access Color to hex with php?

我有一个像"16777215"这样的MS Access Color。这是颜色白色(#ffffff)。如何将此颜色字符串转换为十六进制,就像使用 php #ffffff 一样?

问候!

有一个完整的函数可以将MS Access颜色值转换为RGB HEX。感谢WojtekT和poldixd提供了一些解决此问题的技巧。

<?php
function color_msaccess2hex($in) {
    $hex = str_pad(dechex($in), 6, 0, STR_PAD_LEFT);
    // Switch first and third byte
    $hex = mb_substr($hex,4,2).mb_substr($hex,2,2).mb_substr($hex,0,2);
    return '#'.$hex;
}

MS Access 中的颜色值不是以 RGB 模式存储,而是以 BGR 模式存储。这意味着在将值转换为十六进制后,您需要切换第一个和第三个字节的位置。例:

访问颜色代码:5275647,转换为十六进制是:507FFF,切换第一个和第三个字节后你会得到:FF7F50,这就是你的html颜色代码。

这是一个转换表,所以你明白我的意思:http://cloford.com/resources/colours/500col.htm