Функция построения градиентов

  1. function gradient($text,$from='',$to='', $mode="hex")
  2. {
  3.     if($mode=="hex")
  4.     {
  5.         $to  = hexdec($to[0].$to[1]).",".hexdec($to[2].$to[3]).",".hexdec($to[4].$to[5]);
  6.         $from= hexdec($from[0].$from[1]).",".hexdec($from[2].$from[3]).",".hexdec($from[4].$from[5]);
  7.     }
  8.  
  9.     if( empty($text) )
  10.         return '';
  11.     else
  12.         $levels=strlen($text);
  13.  
  14.     if (empty($from))
  15.                 $from = array(0,0,255);
  16.     else
  17.                 $from = explode(",", $from);
  18.  
  19.     if (empty($to))
  20.  
  21.                 $to = array(255,0,0);
  22.     else
  23.                 $to = explode(",", $to);
  24.  
  25.         $output = "";
  26.  
  27.         for ($i=1;$i<=$levels;$i++)
  28.         {
  29.                 for ($ii=0;$ii<3;$ii++)
  30.                 {
  31.                         $tmp[$ii] = $from[$ii] - $to[$ii];
  32.                         $tmp[$ii] = floor($tmp[$ii] / $levels);
  33.                         $rgb[$ii] = $from[$ii] - ($tmp[$ii] * $i);
  34.  
  35.                         if ($rgb[$ii] > 255) $rgb[$ii] = 255;
  36.  
  37.                         $rgb[$ii] = dechex($rgb[$ii]);
  38.                         $rgb[$ii] = strtoupper($rgb[$ii]);
  39.  
  40.                         if (strlen($rgb[$ii]) < 2) $rgb[$ii] = "0$rgb[$ii]";
  41.                 }
  42.             $output .= ''.$rgb[0].$rgb[1].$rgb[2].'' == '000000' ? '' . mb_substr($text, ($i-1), 1) . '' : "<font color=\"#".$rgb[0].$rgb[1].$rgb[2]."\">" . mb_substr($text, ($i-1), 1) ."</font>";
  43.         }
  44.         return $output;
  45. }

Реклама

Мы в соцсетях

tw tg yt gt