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

Форум PHP

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

 

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

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

тема: Алгоритм рисования
 
 автор: Agronom   (30.04.2006 в 19:18)   письмо автору
 
 

Здравствуйте, друзья.
Помогите решить такую задачу с помощью GB.

создаем рисунок 1*40px и далее нужно его заполнить, т.е. мы имееи 2 начальных цвета и нужно сделать так, чтобы во всю высоту изображения один цвет плавно переходил в другой.

Подскажите алгоритм, пожалуйста, думаю можно рисовать попиксельно с помощью цикла, но вот не знаю как задать цикл используя шестнадцатиричные значения цветов.

   
 
 автор: cheops   (01.05.2006 в 11:45)   письмо автору
 
   для: 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); 
?>

   
 
 автор: Agronom   (01.05.2006 в 19:35)   письмо автору
 
   для: cheops   (01.05.2006 в 11:45)
 

Благодарю, cheops.
Только лучше не генерировать изображение каждый раз, а сохранить его.

   
 
 автор: FaStY   (01.05.2006 в 21:12)   письмо автору
 
   для: Agronom   (01.05.2006 в 19:35)
 

хм... так зачем без генерации делать это в GD? сделал в фотошопе и сохранил и все.

   
Rambler's Top100
вверх

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