[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP Градиент текста
Lemur
Всем доброго времени суток!
У меня имеется небольшой скриптик, который с помощью циклов и преобразований с НЕХ в RGB цветов создает градиент текста. НО, делает это он с 2-мя цветами, а мне очень нужно с 3-мя. Уже 3-й день бьюсь над этим. Помогите решить данную проблему и укажите путь истинный новичку user posted image
Собственно исходный код (автор к сожалению не известен, спросил бы у него)
<?php
function
str2gradient($text,$from='', $to='', $mode="hex")
{
if($mode=="hex")
{
$to = hexdec($to[0].$to[1]).",".hexdec($to[2].$to[3]).",".hexdec($to[4].$to[5]);
$from = hexdec($from[0].$from[1]).",".hexdec($from[2].$from[3]).",".hexdec($from[4].$from[5]);
}

if( empty($text) )
return '';
else
$levels=strlen($text);

if (empty($from))
$from = array(0,0,255);
else
$from = explode(",", $from);

if (empty($to))

$to = array(255,0,0);
else
$to = explode(",", $to);

$output = "";

for ($i=1;$i<=$levels;$i++)
{
for ($ii=0;$ii<4;$ii++)
{

$tmp[$ii] = $from[$ii] - $to[$ii];
$tmp[$ii] = floor($tmp[$ii] / $levels);
$rgb[$ii] = $from[$ii] -($tmp[$ii] * $i);

if ($rgb[$ii] > 255) $rgb[$ii] = 255;

$rgb[$ii] = dechex($rgb[$ii]);
$rgb[$ii] = strtoupper($rgb[$ii]);

if (strlen($rgb[$ii]) < 2) $rgb[$ii] = "0$rgb[$ii]";
}
$output .= "<font color=\"#".$rgb[0].$rgb[1].$rgb[2]."\">" . $text[$i -1 ] . "</font>";
}
return $output."\n";
}
echo str2gradient("Привет, я Градиент!", "f11717", "21f117");
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.