Преобразование HTML-цвета в RGB

Не так давно решил сделать отображение облака тэгов с цветовым градиентом, в зависимости от частоты использования тэгов и естественно мне понадобилась функция для преобразования html-цвета в его RGB-представление. И вот что получилось:

  1. function html2rgb($color)
  2. {
  3. if ($color[0] == '#')
  4. {
  5. $color = substr($color, 1);
  6. }
  7.  
  8. if(strlen($color) == 6)
  9. {
  10. list($r, $g, $b) = array($color[0].$color[1],
  11. $color[2].$color[3],
  12. $color[4].$color[5]);
  13. }
  14. elseif(strlen($color) == 3)
  15. {
  16. list($r, $g, $b) = array($color[0].$color[0], $color[1].$color[1], $color[2].$color[2]);
  17. }
  18. else
  19. {
  20. list($r, $g, $b) = array('ff', 'ff', 'ff');
  21. }
  22. $r = hexdec($r); $g = hexdec($g); $b = hexdec($b);
  23. return array($r, $g, $b);
  24. }

И естественно обратная функция:

  1. function rgb2html($r, $g = 0, $b = 0)
  2. {
  3. if (is_array($r) && sizeof($r) == 3)
  4. {
  5. list($r, $g, $b) = $r;
  6. }
  7.  
  8. $r = intval($r)%256;
  9. $g = intval($g)%256;
  10. $b = intval($b)%256;
  11.  
  12. return sprintf('#%02x%02x%02x', $r, $g, $b);
  13. }
Читайте в блоге

PDO
Замена с помощью регулярных выражений. Модификатор e
MFC. Использование HTML-интерфейса.

Метки: php

Комментарии:

lifephysic @ 30.10.2010 11:47

Под питон случайно аналога не находил...
Евгений @ 14.11.2010 20:01

Спасибо за статью.

Войдите на сайт, чтобы оставить комментарий