По дате Июль 26th, 2010

php скрипт - несколько превьюшек изображений в одном

Потребовалось выводить несколько превьюшек разных изображений в одном изображении. Небольшой php скрипт выводит 30 уменьшенных превьюшек прямоугольником.

define ('PIC_ROWS',5); // количество рядов в изображении
define ('PIC_COLS',6); // количество колонок в изображении
define ('PIC_WIDTH',20); // ширина одного изображения в большом
define ('PIC_HEIGHT',20); // высота изображения в
define ('PIC_PATH','images/'); // каталог изображений (на сервере)
$rows = array('image1.jpg','image2.jpg'); // массив с именами файлов
$i = 0;
$img = imagecreatetruecolor ( PIC_WIDTH*PIC_COLS, PIC_HEIGHT*PIC_ROWS );
imagefill($img, 0, 0, imagecolorallocate($img, 225, 225, 225)); // заполним цветом
for ($x = 0; $x<PIC_COLS;$x++)
 for ($y=0;$y<PIC_ROWS;$y++, $i++) {
  $file = PIC_PATH.$rows[$i];
$imginfo = getimagesize ($file); //([0]-width [1]-height)
$imgtmp = imagecreatefromjpeg($file);
imagecopyresampled ( $img , $imgtmp, $x*PIC_WIDTH , $y*PIC_HEIGHT , 0 , 0 , PIC_WIDTH , PIC_HEIGHT , $imginfo[0]  , $imginfo[1]);
imagedestroy ($imgtmp);
}
header("Content-type: image/jpeg");
imagejpeg($img);

На выходе получается “матрица” изображений “всё в одном”

Опубликовано Июль 26, 2010 | автор: levik  |  Нет комментариев »