Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   [PHP] hex -> int -> hex (https://forum.antichat.xyz/showthread.php?t=129776)

imajo.ati 14.07.2009 14:55

[PHP] hex -> int -> hex
 
функция

PHP код:

function int_to_rgb$i )
{
    return 
sprintf('#%02X%02X%02X'$i&0xFF , ($i>>8)&0xFF , ($i>>16)&0xFF );


переводит идентификатор цвета в hex

как перевести обратно? к примеру #808000

вот написал функцию

PHP код:

function rgb_to_int$i // xxxxxx
{
    
$ret hexdec($i[0].$i[1]);
    
$tmp hexdec($i[2].$i[3]); if ( $tmp != $ret *= $tmp;
    
$tmp hexdec($i[4].$i[5]); if ( $tmp != $ret *= $tmp;
    return 
$ret;


но она неправильно переводит некоторые цвета: допустим красный цвет FF0000 переводит правильно, а цвет 800080 нет

не могу найти нигде

imajo.ati 14.07.2009 15:12

всё, нашёл формулу
256*256*blue+256*green+red

блин, рано тему создал =)


Время: 13:53