Если Вы создаете галереи для ваших заказчиков, то вам рано или поздно понадобится сниппет создания превьюшек изображений. Сайт — это классный маркетинговый инструмент. Например, невозможно найти лучшего способа рекламы магазина, чем создание многочисленных фотографий продукции.
И тогда очень часто всплывает один вопрос — как создать много и быстро превьюшек фотографий, тем более что заказчик не хочет за них платить. Выход был найден — создать сниппет генерации превьюшек на PHP.
PHP
function make_thumb($src,$dest,$desired_width)
{
/* read the source image */
$source_image = imagecreatefromjpeg($src);
$width = imagesx($source_image);
$height = imagesy($source_image);
/* find the "desired height" of this thumbnail, relative to the desired width */
$desired_height = floor($height*($desired_width/$width));
/* create a new, "virtual" image */
$virtual_image = imagecreatetruecolor($desired_width,$desired_height);
/* copy source image at a resized size */
imagecopyresized($virtual_image,$source_image,0,0,0,0,
$desired_width,$desired_height,$width,$height);
/* create the physical thumbnail image to its destination */
imagejpeg($virtual_image,$dest);
}
Вышеприведенный код использует функциональность библиотеки PHP GD2. Единственный недостаток использования PHP в том, что картинки не выглядят так хорошо, как картинки, созданные в Photoshop или GIMP.
Если у вас возникли какие-то вопросы по настройке или функциональности сниппета, задавайте вопросы в комментариях