- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
function rgb_to_htmlcolor($rgb) {
$red = $rgb['red'];
$green = $rgb['green'];
$blue = $rgb['blue'];
$red = 0x10000 * max(0,min(255,$red+0));
$green = 0x100 * max(0,min(255,$green+0));
$blue = max(0,min(255,$blue+0));
// convert the combined value to hex and zero-fill to 6 digits
return "#".str_pad(strtoupper(dechex($red + $green + $blue)),6,"0",STR_PAD_LEFT);
}
guest 02.08.2009 13:43 # 0
guest 03.08.2009 17:59 # 0
а как с помощью hexdec превратить
array('red' => 12, 'green' => 250, 'blue' => '7') в #RRGGBB ?
guest 12.08.2009 16:20 # −1
$hex = dechex($red + 256 * $green + 65536 * $blue);
единственное, если значения любого цвета будет меньше 0xF, надо 0 впереди дописывать
guest 03.08.2009 23:30 # 0
xaionaro 13.08.2009 00:05 # 0
Хотя, конечно, вот это совсем некрасиво: "str_pad(strtoupper(dechex(...)), ...)". Не спорю.