Создание миниатюр изображений для веб-страниц
Создать thumbnails для веб-страниц можно с помощью установленной на сервере PHP-программы, связанной с загрузочным файлом, но для автоматизации создания строк и овладения качеством изображения лучше установить скрипт локально. Возможно, будет легче обеспечить наиболее эффективные графические функции.
Установить графическую библиотеку PHP
PHP в версии 4 или 5 использует для обработки изображения библиотеку gd2, которая по умолчанию не включена (может быть на сервере, для ее просмотра используется функция phpinfo).
Для установки графического расширения gd2:
- Скопировать в каталог/php/файл php.ini-рекомендован в php.ini.
- Задать путь расширений в переменной extension_dir, например: extension_dir = «c :/php/ext».
- Включить в списках расширений 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.
Исходный код
- Файл resize.php
Переименовать resize-php.txt в resize.php. - Код интерполяции.
Вторая часть: Создание миниатюр с заданными высотой и шириной.
Получение программного обеспечения
- G 'MIC. Плагин для GIMP.