Заметил, что не обсуждалась данная функция ещё на форуме, стало интересно, работал я с ней однажды, но не совсем она корректно работала (или руки криво написали, то что голова криво спроэктировала).
в общем функция imagecopyresized - знаете для чего создана а, если кто не знает, то она принемает в себя 10 параметров и на выходе дает изображение (какие параметры перечислять сейчас не стану, в мануале есть всё о них),
Надо мной повисла задача, вернее даже не задача а идея сделать то, что другими уже делалось, но мне захотелось самому, сделать динамический аватар т.е. чтоб его отображение на форуме менялось каждый раз.
Имеем :
-функцию imagecopyresized;
-2 картинки с именами 1.png и 2.png (16 х16 точек);
-картинку изображения декорируещего (128 на 128 пикселов, оно просто в конце генерации накладываеться наверх полученной матрицы)
Требуеться :
-получить картинку, в формате .png, которая на фоне будет иметь сменный масив 8 на 8 элементов, а впереди будет накладываться "слой-подпись" с именем пользователя.
Решение:
Ниже я разместил код скрипта, которым как я думал, я расщитаю всё, но, работа данного скрипта прерываеться по таймауту максимального времени выполнения скрипта.
У кого какие идеи-предложения???
<?php
function GenerateBackgrnd (){
//——————————————————————
// Создание ВСЕХ необходимых параметров
//——————————————————————
$ieW=16; $ieH=16;
$backimg = array (64);
//——– генратор случайных чисел ——————————-
mt_srand(time()+(double)microtime()*1000000);
//——————————————————————
$background = imagecreate(128,128); //Основной фон
$backgroundsrc = array();  //массив "донорских" изображений
//——————————————————————
//Формирование массива с числами 1 по 256
//——————————————————————
for ($i=0;$i<64;$i++)
{
$backgroundsrc[]=(mt_srand(1,0).'.png');
}
for ($x=0;$x<8;$x++)
{
	for ($y=0;$y<8;$y++)
	{
		for ($count=0;$count<256;$count++)
		{
		//	$currentsrc = imagecreate(16,16);
		// 	imagecopyresized (  dst_img;       src_img; 	 	          DstX;              DstY;             srcX;     SrcY;      DstH;       DstW;       SrcW;      SrcH; )
	        imagecopyresized ($backgroundimage,($backgroundsrc[$count]),($x*16),           ($y*16),              0   ,    0     ,    16   ,       16   ,      16   ,    16  );
		}
	}
	return $backgroundimage;
}
// конец функции генерящей картинк
}
function ShowImage ()
{
	$backgroundimage =  imagecreate(128,128);
	$foregroundimage =  imagecreatefrompng("http://localhost/images/foreground.png");	
	$zero = 			imagecreatefrompng("http://localhost/images/1.png");
	$nul  =				imagecreatefrompng("http://localhost/images/0.png");
	//GenerateBackgrnd();
		// 	imagecopyresized (  dst_img;       src_img; 	 	  DstX;         DstY;            srcX;     SrcY;      DstH;      DstW;      SrcW;     SrcH; )
	return  imagecopyresized (GenerateBackgrnd(),($foregroundimage),(0),           (0),              0   ,    0     ,    128   ,    128   ,    128   ,   128  );
}
print ShowImage();
?>