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

  • Автор темы Автор темы Spear
  • Дата начала Дата начала

Spear

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

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

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

-~{}~ 31.08.05 21:20:

[m]imagecolorstotal[/m] и в цикле [m]imagecolorset[/m]
 
чтото неполучается :(
не меняется палитра..
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.
 
А почему сразу не написать
PHP:
   $red = rand(0,255);
   $green = rand(0,255);
   $blue = rand(0,255);
   imagecolorset($im,$i,$red,$green,$blue);
Насколько я понял - у тебя просто случайное потемнение цветовю Так и надо?
увеличить шрифт печатаемой
Шрифты нужно ставить трутайпные
 
Про трутайп, возможно, погорячился. Я вывожу свой счетчик функцией [m] imagestring[/m] и могу менять размер!
 
Насколько я понял - у тебя просто случайное потемнение цветовю Так и надо?
я просто пока что рандом поставил, потом будет "умное" заменение некоторых цветов.

-~{}~ 31.08.05 22:45:

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

Смотри функции image*ttf*. Это они! Еще можно поискать в этом форуме ...
 
писать нужно только цифры.
Спасибо! Отличная функция!
 
Сверху