Что делать с форматом изображений webp?

Аватар пользователя VasyOK VasyOK 22 апреля в 19:49

Всем привет!

google page speed не устраивают форматы изображения jpg и png.
Предлагается использовать webp и прочее.

Вопросы (Желательно чтоб и 7ку поддерживало):
1. Как закачать webp файлы в поле изображения?
2. Для имеющихся изображений imagecahe action на смену формата webp возможен?

Лучший ответ

Аватар пользователя VasyOK VasyOK 21 июля в 21:53

https://www.drupal.org/project/imagick - я долго любовью с этим модулем но так и не поборол.
Основная проблема: модуль дописывает к выводу изображения (какие-то абсолютно неуместные) значения width и height. Может это с окружением связано, может еще с чем-то.

Кароче в последнем Drupal-е конвертация в webp есть в ядре. Спасибо разработчикам!

Комментарии

Аватар пользователя artomas artomas 22 апреля в 20:54

Так есть же: https://www.drupal.org/project/imagewebp. Выше Д7 есть: https://www.drupal.org/project/webp. И зачем закачивать? Как понял (недавно изучал тоже), просто копии создаются и все. Если все конвертировано, не знаю как качать, но оригиналы же есть наверняка.

Аватар пользователя VasyOK VasyOK 22 апреля в 21:17

Прямо сейчас пинаю сайт на 7ке.
Версия php принципиально какая?

https://www.drupal.org/project/imagewebp - пишет будет сгенерировано n-ое количество файлов в настройках отображения image поля (почему там?). После сохранения настроек - белый экран.

https://www.drupal.org/project/drupal/issues/3179554 - патч частично решает проблему. Но глюкаво работает.

Аватар пользователя artomas artomas 22 апреля в 21:41

Сорян, с семеркой не работаю давно. Нашел так как сам искал недавно по этой теме. Да и искал когда не использовал, мне хватило в задаче блоками с picture все решить, как оказалось.

Аватар пользователя bsyomov bsyomov 12 мая в 13:01

GD должен поддерживать webp для работы этого модуля.
Вообще, с webp лучше работать через cwebp, но для этого он должен быть установлен.

Аватар пользователя artomas artomas 10 мая в 13:50

Как понимаю, все зависит от браузеров вообще в первую очередь. Про требования к хостингу ничего не слышал.

Аватар пользователя gun_dose gun_dose 10 мая в 18:54

На хостинге ничего не нужно. На сайте надо включить responsive image и настроить адаптивные стили изображения.

Аватар пользователя VasyOK VasyOK 13 мая в 13:54

responsive image - это конечно хорошо, но изображения формируемые им в views не имеют атрибутов alt, width, height.

Есть возможность формировать стиль изображения в формате webp?
Сейчас пробую image_effects + imagemagick

Аватар пользователя VasyOK VasyOK 13 мая в 14:19

Обломчик. Не предоставляет image_effects формат webp в списке доступных для конвертирования.

Аватар пользователя gun_dose gun_dose 13 мая в 15:13

Как минимум альты есть. Специально проверил. Если отдавать только webp, то счастливые обладатели всяких там шестых айфонов никогда не увидят твоих картинок, даже если поставят себе нормальный браузер.

Аватар пользователя VasyOK VasyOK 13 мая в 15:39

Ок, альты настрою. Но я практически не имею контроля над тем, что выводиться внутри тега <picture>. Слишком много кодинга для слишком простых вещей получается.

Аватар пользователя bsyomov bsyomov 13 мая в 16:15

А также требует установленного Image magick/Graphics magick не слишком древнего и соответствующего php_imagick. В целом лучше чем GD, но всё же менее распространён.

Аватар пользователя kosskren kosskren 13 июня в 10:03

Можно использовать библиотеку для конвертирования в webp. https://github.com/rosell-dk/webp-convert
Конвертирование производится при сохранении ноды, термина. Так же можно сразу создать несколько миниатюр для каталога, внутренней страницы и т.п. Удаление webp и миниатюр делается при удалении ноды, термина.

Хуки для терминов https://api.drupal.org/api/drupal/modules%21taxonomy%21taxonomy.api.php/7.x
Хуки для ноды https://api.drupal.org/api/drupal/modules%21node%21node.api.php/7.x

Имеющиеся изображения можно так же сконвертировать, написав отдельную функцию.
На своих проектах так делаю. Универсальный способ для любой версии друпала и не только.

Аватар пользователя VasyOK VasyOK 21 июля в 21:53

https://www.drupal.org/project/imagick - я долго любовью с этим модулем но так и не поборол.
Основная проблема: модуль дописывает к выводу изображения (какие-то абсолютно неуместные) значения width и height. Может это с окружением связано, может еще с чем-то.

Кароче в последнем Drupal-е конвертация в webp есть в ядре. Спасибо разработчикам!

Аватар пользователя Petro Petro 19 октября в 6:08

Обновил недавно сайт до Drupal 9, webp не появился. /admin/config/media/image-styles создаю новый стиль, добавляю Преобразовать, в списке расширений webp нет. Drupal 9.2.7. Php 7.4.24. В чем может быть проблема?

Аватар пользователя Petro Petro 19 октября в 6:56

Сам спросил, сам ответил. В imagemagic не включена поддержка webp. Надо или включить или переключиться на GD