Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перевод rgb -> hex и обратно... 
:(
    Опции темы
Mal Hack
  Дата 13.12.2004, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



В HEX перевожу вот так.
Код

<?php

$hex = "#";
$rgb = "255,120,255";

$arr = explode( "," , $rgb );

for( $i = 0; $i < 3; $i++ )
{  $hex .= sprintf( "%X" , $arr[ $i ] );  }

print $hex;

?>

Весь вопрос в том, как обратно преобрзовать... Тобишь грубо говоря из FF, получить 255.
PM ICQ   Вверх
Sardar
Дата 13.12.2004, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



Можно так:
Код
<?php
$hex = "#FFAACC";

function toRGB($h) {
 $h=($h{0}=="#")? substr($h, 1): $h;
 $rgb=str_split($h, 2); //делим на строки по 2 символа
 $fltr = create_function('$v', 'return intval($v,16);'); //из 16ричной
 array_map($fltr, $rgb); //конвертируем строки в числа
 return implode(",", $rgb); //возвращаем через запятую
}

?>



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
penizillin
Дата 13.12.2004, 03:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 10.11.2004

Репутация: 8
Всего: 9



dechex() и hexdec() как альтернатива.
PM MAIL ICQ   Вверх
Mal Hack
Дата 13.12.2004, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Спасибо...
Вот что называется век живи, век учись... Ведь смотрел я в мане на intval Ж)
А про dechex() и hexdec() огромное спасибо... Пригодится еше.
Как итоговый код:
Код

<?php

$hex = "#ffFFff";
$rgb = "";

for( $i = 0; $i < 3; $i++ )
{  $arr[$i] = substr( $hex , 1 * ( $i + 1 ) , 2 );  }

$rgb .= hexdec( $arr[ 0 ] ) . "," . hexdec( $arr[ 1 ] ) . "," . hexdec( $arr[ 2 ] );

print "rgb( " . $rgb . " )";

?>

PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0460 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.