我有一个像“16777215”这样的 MS Access 颜色。这是白色 (#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