Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите вывести формулу..
 
 автор: Nataliya ~*~   (28.03.2009 в 15:54)   письмо автору
 
 

Есть следующий код:
Цвет в RGB
$R = 255;
$G = 255;
$B = 255;

$Bites_1 = chr(($B>>3)|(($G&0x1c)<<3));
$Bites_2 = chr(($R&0xf8)|(($G&0xe0)>>5));

В результате этого издевательства мы имеем уже 2 числа 255 и 255.

Может ктото сможет вывести исходный цвет из этого результата?
Конкретнее, мне нужно получить цвет в RGB из \xff\xff.
Спасибо.

  Ответить  
 
 автор: Trianon   (28.03.2009 в 16:06)   письмо автору
 
   для: Nataliya ~*~   (28.03.2009 в 15:54)
 

>Есть следующий код:
>Цвет в RGB
>$R = 255;
>$G = 255;
>$B = 255;
>
>$Bites_1 = chr(($B>>3)|(($G&0x1c)<<3));
>$Bites_2 = chr(($R&0xf8)|(($G&0xe0)>>5));
>
>В результате этого издевательства мы имеем уже 2 числа 255 и 255.
>Может ктото сможет вывести исходный цвет из этого результата?

$B = ($Bits1&0x1F)<<3;
$G = (($Bits1>>5)&7)|(($Bits2&7)<<3);
$R = ($Bits2&0xF8);

Младшие разряды полей потеряны при первом преобразовании
останется по 5 бит B и R, и 6 бит G

  Ответить  
 
 автор: Nataliya ~*~   (28.03.2009 в 16:14)   письмо автору
 
   для: Trianon   (28.03.2009 в 16:06)
 

А можна как-то преобразовать их без потерь?
И огромное спасибо за предыдущий ответ!)

  Ответить  
 
 автор: Trianon   (28.03.2009 в 16:23)   письмо автору
 
   для: Nataliya ~*~   (28.03.2009 в 16:14)
 

В произвольном целом числе из диапазона [0...255] ровно 8 бит.
В трех таких числах, соответственно, 24 бита.
Код символа - 8 бит. Соответственно 2 символа это 16 бит.
24 бита впихнуть в 16 бит можно лишь с потерей 8-ми бит.

  Ответить  
 
 автор: Nataliya ~*~   (28.03.2009 в 17:11)   письмо автору
 
   для: Trianon   (28.03.2009 в 16:23)
 

Спасибо еще рас!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования