Допустим мы делаем галерею с предпросмотром (preview), конечно мы могли б уменьшить изображение в фотошопе (photoshop), но если наша галерея содержит десятки тысяч фыйлов, что тогда? Тогда будем генерировать preview на лету c помощью PHP и библиотеке GD Preview будет вставляться в наш “загруз центр” таким образом:

 <img src=”img.php?url= file.jpg” alt=”preview” />

Где url переменная, которой присваивается file.jpg – адрес изображения, img.php – файл который выводит нашу уменьшенную картинку, не буду вдаваться в подробности о том как организован цикл вывода всех файлов, с разбивкой на страницы, это тема будет раскрыта поже, перейдём к главному, к файлу img.php:

 <?

function preview($name_big)

 {

 header('Content-type: image/jpeg');

 list($width, $height) = getimagesize($name_big);

 $s_im=imagecreatefromjpeg($name_big);

 $d_im=imagecreatetruecolor(48, 64);

 imagecopyresampled($d_im, $s_im, 0, 0, 0, 0, 48, 64, $width, $height);

 imagejpeg($d_im);

 }

preview ($url);

 ?>

Как видим из кода выше, у нас есть функция preview которая создают уменьшенное изображения.

Для чего ещё можно уменьшать изображения

Если взять картинку 240 на 320 из неё бес проблем можно получить 176 на 220 (для Sony Ericsson), 132 на 176 (для Siemens), 128x160(для Nokia).

----- 

Яндекс радует каждый день – мой блог попал в индекс!

  !

3 Responses to “Как при помощи PHP уменьшить изображение.”

  1. Станислав Says:

    Да, но такой подход подойдет для просмотра фоток например на страницах не самых посещаемых. А если эот делать при каждом заходе юзера на страницу и если на сайте тысяч 100 посещаемость, то сервак просто не выдержит уменшения на лету.

    Поэтому рекомендуется предварительно уменьшат картинки еще на моменте их заливки на сервер. Так понадобится больеш места, но упадет нагрузка на процессор.

  2. nofx Says:

    Станислав я с вами абсолютно согласен

  3. GG Says:

    A kak uznat’ vkly4en li pokaz kartinok?

Leave a Reply