Как создать изображение.webp на PHP
Как вы создаете .webp
изображения с помощью PHP?
Современные версии PHP (>=5.5.0) могут быть скомпилированы с поддержкой WebP
, но, как я видел, это не распространено на многих веб-хостингах. Если скомпилирован с поддержкой WebP, вы можете использовать встроенный imagewebp()
функция для создания .webp
изображений.
Каковы альтернативы для создания .webp
изображений с использованием PHP? Библиотеки, API-интерфейсы и другие методы?
4 answers
В настоящее время доступны следующие опции: gd (расширение), imagick (расширение), imagick (вызов исполнителя), gmagick (расширение), gmagick (вызов исполнителя), cwebp (вызов исполнителя), gmagick (вызов исполнителя) или вызов облачной службы. Я создал библиотеку "webp-convert" на github, которая пробует все методы. Файл readme описывает плюсы и минусы каждого метода. Его можно найти здесь: https://github.com/rosell-dk/webp-convert.
По неизвестным мне причинам расширения imagick/gmagick производит не лучшее качество, чем исходные файлы. Это проблема только с расширениями, а не с вызовами exec.
Процесс создания изображений Webp:
Вы можете использовать следующие команды php, чтобы получить изображения webp
$imgName = "codingslover.jpg";
$webPName = "codingslover.webp";
Syntax:
cwebp [quality qualitypercentage] [source image] -o [destination]
exec("cwebp -q 0 ".$imgName." -o ".$webPName." ");
Anthor Method:
exec("convert -colorspace RGB ".$imgName." ".$webPName . " ");
Exec: выполняет данную команду на php
Вы можете перейти прямо в Google и создать библиотеки WebP из исходного кода. Используйте эту ссылку, чтобы получить соответствующий архив для вашей операционной системы:
Https://developers.google.com/speed/webp/docs/compiling#building
Затем вы можете использовать следующую команду в функции php system() для преобразования изображений:
Синтаксис:
cwebp [quality
qualitypercentage] [source
image] -o [destination]`
cwebp -q 80 source.png -o
destination.webp
Я бы рекомендовал прочитать приведенную выше ссылку, чтобы скомпилировать ваши библиотеки, затем перейдите сюда, чтобы получить дополнительную информацию об использовании библиотек.
Удачи с проектом!
В настоящее время существует несколько пакетов npm для создания .webp
изображений из форматов PNG, JPEG и TIFF.
Вот один плагин Gulp в качестве примера - gulp-webp.