Команда Joomla! Украина представляет мультиплатформенную библиотеку для ресайзинга изображений JUImage. Библиотеку можно установить как пакет Joomla, а так же как PHP пакет Composer в ваш проект.
Основные возможности библиотеки
- Создание эскизов в jpg, png, gif или webp.
- Создание эскизов из локальных или внешних изображений.
- Создание эскизов из видео YouTube или Vimeo.
- Определение размеров изображений.
- Параллельное создание эскизов в формате webp для использования в теге <picture>.
- Использование цветовых фильтров.
- Создание водяных знаков.
- И многое другое.
Описание и пример кода
Подключение в расширение или шаблон
JLoader::register('JUImage', JPATH_LIBRARIES . '/juimage/JUImage.php'); $juImg = new JUImage(); $thumb = $juImg->render('images/sampledata/fruitshop/apple.jpg', [ 'w' => '300', 'h' => '100', 'q' => '77', 'cache' => 'img' ]); echo '<img src="'. $thumb .'" alt="Apple" width="300" height="100">';
или
require_once(JPATH_SITE . '/libraries/juimage/vendor/autoload.php'); $juImg = new JUImage\Image(); $thumb = $juImg->render('images/sampledata/fruitshop/apple.jpg', [ 'w' => '300', 'h' => '100', 'q' => '77', 'cache' => 'img' ]); echo '<img src="'. $thumb .'" alt="Apple" width="300" height="100">';
Поддержка WebP изображений
<?php $thumb = $juImg->render('images/sampledata/fruitshop/apple.jpg', [ 'w' => '300', 'h' => '100', 'q' => '95', 'webp' => true, 'webp_q' => '80', 'webp_maxq' => '85', ]); ?> <picture> <source srcset="/<?php /echo /$thumb->webp; /?>" type="image/webp"> <img src="/<?php echo $thumb->img; ?>" alt="Apple" width="300" height="100"> </picture>
Больше примеров смотрите на странице проекта.
Загрузить JUImage
Загрузить на Github Загрузить на Packagist
Свои пожелания и предложения пишите на Github: https://github.com/Joomla-Ukraine/JUImage/issues/a>