imajo.ati
14.07.2009, 14:55
функция
function int_to_rgb( $i )
{
return sprintf('#%02X%02X%02X', $i&0xFF , ($i>>8)&0xFF , ($i>>16)&0xFF );
}
переводит идентификатор цвета в hex
как перевести обратно? к примеру #808000
вот написал функцию
function rgb_to_int( $i ) // xxxxxx
{
$ret = hexdec($i[0].$i[1]);
$tmp = hexdec($i[2].$i[3]); if ( $tmp != 0 ) $ret *= $tmp;
$tmp = hexdec($i[4].$i[5]); if ( $tmp != 0 ) $ret *= $tmp;
return $ret;
}
но она неправильно переводит некоторые цвета: допустим красный цвет FF0000 переводит правильно, а цвет 800080 нет
не могу найти нигде
function int_to_rgb( $i )
{
return sprintf('#%02X%02X%02X', $i&0xFF , ($i>>8)&0xFF , ($i>>16)&0xFF );
}
переводит идентификатор цвета в hex
как перевести обратно? к примеру #808000
вот написал функцию
function rgb_to_int( $i ) // xxxxxx
{
$ret = hexdec($i[0].$i[1]);
$tmp = hexdec($i[2].$i[3]); if ( $tmp != 0 ) $ret *= $tmp;
$tmp = hexdec($i[4].$i[5]); if ( $tmp != 0 ) $ret *= $tmp;
return $ret;
}
но она неправильно переводит некоторые цвета: допустим красный цвет FF0000 переводит правильно, а цвет 800080 нет
не могу найти нигде