Допустим мы делаем галерею с предпросмотром (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).
-----
Яндекс радует каждый день – мой блог попал в индекс!
Февраль 3rd, 2008 at 08:19
Да, но такой подход подойдет для просмотра фоток например на страницах не самых посещаемых. А если эот делать при каждом заходе юзера на страницу и если на сайте тысяч 100 посещаемость, то сервак просто не выдержит уменшения на лету.
Поэтому рекомендуется предварительно уменьшат картинки еще на моменте их заливки на сервер. Так понадобится больеш места, но упадет нагрузка на процессор.
Февраль 3rd, 2008 at 12:27
Станислав я с вами абсолютно согласен
Июль 22nd, 2008 at 23:22
A kak uznat’ vkly4en li pokaz kartinok?