| |
|
|
| | Здравствуйте, друзья.
Помогите решить такую задачу с помощью GB.
создаем рисунок 1*40px и далее нужно его заполнить, т.е. мы имееи 2 начальных цвета и нужно сделать так, чтобы во всю высоту изображения один цвет плавно переходил в другой.
Подскажите алгоритм, пожалуйста, думаю можно рисовать попиксельно с помощью цикла, но вот не знаю как задать цикл используя шестнадцатиричные значения цветов. | |
| |
|
|
| |
|
|
| |
для: Agronom
(30.04.2006 в 19:18)
| | | Можно поступить примерно так
<?php
// Высота изображения
$height = 300;
// Ширина изображения
$width = 10;
// Рисуем градиент
$img = imagecreatetruecolor($width, $height);
if (!$img) exit("Не удалось создать изображение");
$color_r_begin = 0;
$color_r_end = 255;
$color_g_begin = 0;
$color_g_end = 255;
$color_b_begin = 0;
$color_b_end = 255;
for($i = 0; $i < $height; $i++)
{
$color_r = $color_r_begin + (int)($i*abs($color_r_begin - $color_r_end)/$height);
$color_g = $color_g_begin + (int)($i*abs($color_g_begin - $color_g_end)/$height);
$color_b = $color_b_begin + (int)($i*abs($color_b_begin - $color_b_end)/$height);
$clr = imagecolorallocate($img, $color_r, $color_g, $color_b);
imagerectangle($img,
0,
$i,
$width,
$i + 1,
$clr);
}
// Отправляем изображение в окно браузера
header ("Content-type: image/jpeg");
imagejpeg($img);
?>
|
| |
| |
|
|
| |
|
|
| |
для: cheops
(01.05.2006 в 11:45)
| | | Благодарю, cheops.
Только лучше не генерировать изображение каждый раз, а сохранить его. | |
| |
|
|
| |
|
|
| |
для: Agronom
(01.05.2006 в 19:35)
| | | хм... так зачем без генерации делать это в GD? сделал в фотошопе и сохранил и все. | |
| |
|
|