Создание миниатюр изображений для веб-страниц

Создать thumbnails для веб-страниц можно с помощью установленной на сервере PHP-программы, связанной с загрузочным файлом, но для автоматизации создания строк и овладения качеством изображения лучше установить скрипт локально. Возможно, будет легче обеспечить наиболее эффективные графические функции.

Установить графическую библиотеку PHP

PHP в версии 4 или 5 использует для обработки изображения библиотеку gd2, которая по умолчанию не включена (может быть на сервере, для ее просмотра используется функция phpinfo).

Для установки графического расширения gd2:

  1. Скопировать в каталог/php/файл php.ini-рекомендован в php.ini.
  2. Задать путь расширений в переменной extension_dir, например: extension_dir = «c :/php/ext».
  3. Включить в списках расширений php_gd2.dll (или php_gd2.so в Linux), удалив точку запятой в начале.

Теперь, чтобы убедиться, что gd правильно активирован, запустите следующую программу, предоставленную руководством PHP:

<?php
$array=gd_info ();
foreach ($array as $key=>$val) 
{
  if ($val===true)  { $val="Enabled"; }
  if ($val===false) { $val="Disabled"; }
  echo "$key: $val \n";
}
?>   

Он отображает поддерживаемые форматы или сообщение об ошибке до тех пор, пока расширение не будет включено.

Создать миниатюру

С помощью PHP можно создавать миниатюры (треки) хорошего качества.

Задать параметры

$oldname = "girl.jpg";
$newname = "thumb.girl.jpg";
$newh = 240;

Мы выбрали для миниатюры высоту 240 пикселей. Можно, если лучше, задать новую ширину: $ neww = xxx;

Интерполяция размеров

$size = getImageSize($oldname);
$w = $size[0];
$h = $size[1];
$neww = intval($newh * $w / $h);

Если было решено задать ширину, а не высоту, формула будет: $ newh = intval ($ neww * $ h/$ w);

Воссоздание изображения меньшего размера

$resimage = imagecreatefromjpeg($oldname); 
$newimage = imagecreatetruecolor($neww, $newh);  
imageCopyResampled($newimage, $resimage,0,0,0,0,$neww, $newh, $w, $h);

Функции были выбраны для качества результата. В некоторых версиях PHP они будут недоступны, и в руководстве должна быть найдена эквивалентная функция, но ее результаты могут быть менее качественными.

Сохранить новое изображение

imageJpeg($newimage, $newname, 85);

Точно так же для типа изображения выберите функцию, соответствующую формату файла. В случае JPeg-файла третий параметр - это качество восстановления (противоположное уровню сжатия), максимум - 100 при нулевом сжатии.

Повышение качества изображения

В нашем примере с изображением в стиле комиксов получается, что миниатюра такая же острая, как и оригинальный рисунок. С другими видами изображений, например фотографиями, если тебя не устраивает результат, можно использовать плагин G 'MIC.

Для использования этого программного обеспечения:
1) Загрузить и установить свободное ПО GIMP.
2) Загрузить и установить плагин G 'MIC.
3) В меню фильтра выберите G 'MIC и выберите Enhancion, а затем попробуйте параметры.

Обратите внимание, что плагин G 'MIC особенно эффективен для улучшения качества изображений, которые нужно восстановить, размытых, пикселизированных или точечных фотографий.

Сравнение результатов

Первую миниатюру делает G 'MIC, вторую - PHP с командой перезаписи imageCopyResampled.

Исходный код

Вторая часть: Создание миниатюр с заданными высотой и шириной.

Получение программного обеспечения