Текст скрипта небольшой, так что приведу его здесь полностью и прокомментирую:
<?php
header('Content-type: image/png'); //Рассккажем браузеру, что принемать будет картинку
//———————————————————–
// Инициализация и описание основных переменных
//———————————————————–
mt_srand(time()+(double)microtime()*1000000); // - "правильная" инициализация для генератора псевдослучайных чисел
$ForegroundImage = imagecreatefrompng ("foreground.png"); // Загрузка верхней картинки с прозрачным слоем, которая дает еффект блика
$BackgroundImage = imagecreatetruecolor(128,128); // Создание непосредственно картинки, в которую будет копироваться массив изображений
$BackgroundSrc = array(64);
//———————————————————–
for ($i=1;$i<65;$i++){
$BackgroundSrc[$i]=(imagecreatefrompng(mt_rand(0,1).'.png')); // - Заполнение массива изображениями в виде нулей и единиц с помощю генератора псевдослучайных чисел
}
//Теперь идет перебор по массиву, с последующим копированием меньших картинок на холст $BackgroundImage
for ($x=1;$x<9;$x++){
for ($y=1;$y<9;$y++){
//Ниже идет пример функции для копирования маленьких картинок !!!Важно!!! обратите внимание, что результат работы (возвращаемый результат) - true или false - в зависимости от результата работы функции. А Источник копирования - иеднтификатор ресурса в первом параметре.
// imagecopy ( dest_img; src_img; DstX; DstY ; srcX; SrcY; DstH; DstW;)
imagecopy ($BackgroundImage,$BackgroundSrc[($x*$y)] ,($x*16-16), ($y*16-16), 0 , 0 , 16 , 16 );
}
}
//Здесь по аналогии с функцией выше
imagecopy ($BackgroundImage,$ForegroundImage,0,0,0,0,128,128);
imagepng($BackgroundImage); //Вывод в браузер
?>
Необходимо 3 картинки, 2 из них 16 на 16 пикселов и на них изображены ноль и единица, соответственно.
И одна 128 на 128 пикселов - на ней прозрачный фон и надпись, как в моём случае. Все изображения по-умолчанию лежат в папке скрипта.
Получим на выходе 1 картинку с динамически при каждой загрузке, изменяющимися картинками на фоне и статической подписью.
Задачу можно усложнить добавив пару-тройку других изображений, поменяв параметры - в общем - есть поле для самодеятельности, было-бы желание.
Не скажу что мой скрипт архисложный или архиважный, но по-своему он мне нравиться т.к. вносит что-то непостоянное в мой аватар. Пользуйтесь если кому что надо и изменяйте его согласно лицензии GNU.