Генерация картинки

Spear

почемучка
Генерация картинки

Народ, подскажите, пожалуйста - есть ли какая-то функция (или какой пользоваться)
если мне нужно сгенерировать картинку 100х30 пикселей, чтобы фон у неё был разноцветный.
Как сгенерировать я знаю.
Как нарисовать, скажем, 30 полосок по 1 пикселю я тоже знаю - но получится не то.
Мне нужно сделать именно совершенно рандомный бекграунд, разноцветный.
Как посоветуете сделать?
 

ksnk

прохожий
Нарисовать фигуры случайных размеров(круги) со случайными координатами и случайным цветом?
 

Spear

почемучка
получится не то - получится ведь пара-тройка фигур разных цветов...
мне нужно что-то наподобие градинтного фона.
 

ksnk

прохожий
Взять разноцветный бякграунд, замостить им картинку и поменять случайно палитру...?
 

md5hash

Новичок
Spear
так ты скажи что тебе именно надо, потмоу что сначала говоришь что нужен разноцветный фон, потом говоришь что фон должен быть градиентным. Советую точно высказать свою проблему.
 

Spear

почемучка
Автор оригинала: md5hash
Spear
так ты скажи что тебе именно надо, потмоу что сначала говоришь что нужен разноцветный фон, потом говоришь что фон должен быть градиентным. Советую точно высказать свою проблему.
вот что-то вроде этого:

 

ksnk

прохожий
Не грузится картинка :). А еще вроде чего?
Чем не нравится смена палитры?
Кстати, если достаточно долго рисовать круги - можно замостить всю картинку :)
 

Spear

почемучка
Взять разноцветный бякграунд, замостить им картинку и поменять случайно палитру
кстате это идея. Нарисовать пару (десятков) фонов. А потом их использовать (рендомно) и изменять цвет.. правильно я понял?
Вопрос:
изменять цвет imagecolorset'ом?
 

ksnk

прохожий
Ну да. Узнать сколько цветов и всех их переназначить.

-~{}~ 31.08.05 21:20:

[m]imagecolorstotal[/m] и в цикле [m]imagecolorset[/m]
 

Spear

почемучка
чтото неполучается :(
не меняется палитра..
PHP:
	$pal="palette1.png";
header ("Content-type: image/png"); 
$im = imagecreatefrompng($pal);

$red = rand(1,100);
$green = rand(1,100);
$blue = rand(1,100);
for($i=0;$i<imagecolorstotal($im);$i++) 
   { 
   $col=ImageColorsForIndex($im,$i); 
   $red_set=$red/100*$col['red']; 
   $green_set=$green/100*$col['green']; 
   $blue_set=$blue/100*$col['blue']; 
   if($red_set>255)$red_set=255; 
   if($green_set>255)$green_set=255; 
   if($blue_set>255)$blue_set=255; 
   imagecolorset($im,$i,$red_set,$green_set,$blue_set);  
   }
-~{}~ 31.08.05 22:10:

все ок, помог первый комментарий от imagecolorstotal.

Ещё такой вопрос - можно как-то увеличить шрифт печатаемой цифы на картинке, больше чем 5?
Если ставить значение 6, 7 и т.д. - всеравно максимальный размер шрифта - 5.
 

ksnk

прохожий
А почему сразу не написать
PHP:
   $red = rand(0,255);
   $green = rand(0,255);
   $blue = rand(0,255);
   imagecolorset($im,$i,$red,$green,$blue);
Насколько я понял - у тебя просто случайное потемнение цветовю Так и надо?
увеличить шрифт печатаемой
Шрифты нужно ставить трутайпные
 

ksnk

прохожий
Про трутайп, возможно, погорячился. Я вывожу свой счетчик функцией [m] imagestring[/m] и могу менять размер!
 

Spear

почемучка
Насколько я понял - у тебя просто случайное потемнение цветовю Так и надо?
я просто пока что рандом поставил, потом будет "умное" заменение некоторых цветов.

-~{}~ 31.08.05 22:45:

а как использовать трутайпные шрифты?
 

ksnk

прохожий
Если захочется писать по русски могут возникнуть проблемы.

Смотри функции image*ttf*. Это они! Еще можно поискать в этом форуме ...
 

Spear

почемучка
писать нужно только цифры.
Спасибо! Отличная функция!
 
Сверху