Modx phpthumbon: phpthumb — Школа MODX

phpthumb — Школа MODX

Изменение размера

Исходное изображение в 600х800 пикселей изменяем в 200х200 пикселей с помощью опций zc, far и iar

<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200`]]">    
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,far=C,bg=e2e2e2`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,iar=1`]]">

Прозрачность

Исходное изображение в 600х800 пикселей, где вместо неба прозрачный фон, формат изображения png. Преобразуем в миниатюру в 200х200 пикселей с сохранением прозрачности

<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb4.png` &options=`w=200,h=200,f=png`]]">    

Степень сжатия

<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1. jpg` &options=`w=200,h=200,far=C,bg=e2e2e2,q=1`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,far=C,bg=e2e2e2,q=50`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,far=C,bg=e2e2e2,q=95`]]">

Поворот изображения

<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,ra=45`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,ra=-45`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,ra=90`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,ra=180`]]">

Изменение яркости

<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=brit|-255`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1. jpg` &options=`w=200,h=200,zc=C,fltr[]=brit|-25`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=brit|25`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=brit|255`]]">

Изменение контрастности

<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=cont|-255`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=cont|-25`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=cont|25`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=cont|255`]]">

Гамма-коррекция

<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=gam|0. 01`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=gam|1.0`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=gam|5.0`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=gam|10`]]">

Насыщенность

<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=sat|0`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=sat|-10`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=sat|-50`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=sat|-100`]]">

Водяные знаки

<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1. jpg` &options=`w=200,h=200,zc=C,fltr[]=wmi|assets/img/water.png|BR|50|5|5`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=wmi|assets/img/water.png|C|50`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=wmi|assets/img/water.png|*|50|5|5`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=wmi|assets/img/water.png|C|50|||45`]]">

Скругление углов

<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=ric|15|15`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=ric|50|50`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1.jpg` &options=`w=200,h=200,zc=C,fltr[]=ric|100|100`]]">
<img alt="" src="[[phpthumb? &input=`assets/img/phpthumb1. jpg` &options=`w=200,h=200,zc=C,fltr[]=ric|50|15`]]">

phpthumbon документация MODX

  1. вебшкола MODX
  2. Блог
  3. Разработки MODX Revolution
  4. phpthumbon документация
Параметр Описание Значение
input Путь к картинке которую нужно обработать
Возможные значения
Строка
Значение по умолчанию
(пусто)
Примечание
Благодаря этому параметру сниппет может работать как модификатор
options Параметры для класса phpThumb (см. раздел Parameters).
Возможные значения
Произвольная строка с параметрами отделенными друг от друга символом & (амперсанд), а значение параметра определяется после символа = (равенство).
Значение по умолчанию
q=96&src={assets_path}components/phpthumbon/noimage.jpg
Примечание
Значения по умолчанию q и src можно переопределить в системных настройках при помощи параметров phpthumbon.noimage и phpthumbon.quality
Системные настройки
Параметр Описание Значение
phpthumbon.images_dir Папка, которая будет вырезаться из пути в кеш-директории
Возможные значения
Имя папки
Значение по умолчанию
images
Примечание
Относительно директории assets
phpthumbon.quality Качество картинки по умолчанию
Возможные значения
Целое число больше 0
Значение по умолчанию
96
Примечание
Если не задано качество картинки в параметрах при вызове сниппета, то будет использоваться это значение
phpthumbon. cache_dir Имя папки с кешем
Возможные значения
Имя папки
Значение по умолчанию
cache_image
Примечание
Относительно папки assets
phpthumbon.ext Если на сжатие приходит картинка в неизвестном формате, то будет использоваться этот тип
Возможные значения
Расширение имени файла
Значение по умолчанию
jpeg
Примечание
Если на сжатие приходит картинка в неизвестном формате, то будет использоваться этот тип
phpthumbon.noimage Путь к картинки с изображением «картинка не существует»
Возможные значения
Путь к файлу
Значение по умолчанию
{assets_path}components/phpthumbon/noimage.jpg
Примечание
Если картинка указанная в input окажется не доступной или вообще этот параметр пуст, то на обработку поступит картинка указанная в этом параметре
phpthumbon. queue Активация поддержки очередей
Возможные значения
0, 1, 2
Значение по умолчанию
0
Примечание
0 — не использовать очереди; 1 — использовать очередь и не сжимать noimage; 2 — использовать очередь и сжимать noimage под нужный размер
phpthumbon.queue_classpath
Путь к файлу с классом QueueThumb
Возможные значения
0, 1, 2
Значение по умолчанию
{core_path}/components/phpthumbon/queue/QueueThumb.class.php
Примечание
В указанном файле должен располагаться класс QueueThumb с публичным статичным методом add(phpThumbOn $ThumbOn, modX $modx). Класс по умолчанию не использует очередей в прямом смысле слова и лишь сохраняет данные в таблицу modx_thumb_images для последующей обработки через процессор из крона.
phpthumbon. error_mode Правила обработки ошибочных картинок
Возможные значения
1, 2
Значение по умолчанию
1
Примечание
1 (по умолчанию) — сжатие noimage с заданными параметрами; 2 — вывод оригинальной картинки без обработки
phpthumbon.noimage_cache Папка с закешированными noimage файлами
Возможные значения
полный путь к любой папке
Значение по умолчанию
{assets_path}components/phpthumbon/cache/
Примечание
Путь к папке в которой уже хранятся noimage нужных размеров
phpthumbon.total_queue Число обрабатываемых заданий из очереди за 1 раз
Возможные значения
от 1 до 10
Значение по умолчанию
1
Примечание
Не более 10. В случае отсутствия значения у этого параметра устанавливается значение по умолчанию — 1
phpthumbon.make_cachename Сниппет который может подменить дефолтные правила формирования кеш имен картинок
Возможные значения
Любое имя существующего сниппета в системе
Значение по умолчанию
(пусто)
Примечание
Сниппет должен вернуть сериализованный массив со следующими ключами: _cacheFileName (имя файла с полным адресом относительно корня сервера), _cacheSuffix (суффикс в имени кеш файла), _globThumb (шаблон поиска других превьюх этого же файла)
06-10-2015 Виктор Матушевский

Переезд в Вену. Осень-зима Articles. Создание блога в MODx Revolution

Please enable JavaScript to view the comments powered by Disqus.

Как быстро доставлять изображения с помощью Modx, используя PhpThumbOn и WebP — учебные пособия

carlo_13

7 декабря 2021 г. , 16:52

1

Привет всем, это краткое руководство по быстрой доставке изображений с помощью Modx. Много раз я обращался за помощью на форумы, и поэтому я подумал, что было бы неплохо, если бы я мог помочь и другим.

Прежде чем мы начнем: Если вы читаете это из будущего, формат Avif, вероятно, захватил Интернет. На момент написания этого руководства Safari еще не поддерживал изображения Avif, поэтому сейчас нет особого смысла его использовать. Но если вы хотите использовать Avif вместо WebP, реализация должна быть такой же. Также имейте в виду, что для этого вам, вероятно, потребуется использовать как минимум php 8.1, так как это первая версия php, обеспечивающая поддержку изображений Avif.

Также обратите внимание:

Я использую phpthumbon, но если использовать другую версию этого плагина (например, phpthumbof), принцип остается тем же.

Итак, приступим.

Вы, вероятно, читаете это, потому что вы проверили скорость своего сайта на скорости страницы Google, и Google не очень доволен тем, что вы используете jpeg и png для отображения своих изображений.

У вас есть два варианта:

  • Преобразование изображений по одному ( пожалуйста, не делайте этого ) с помощью программного обеспечения, такого как фотошоп, и соответствующего расширения Google.
  • Используйте мощь Modx, и пусть ваша CMS/F сделает всю тяжелую работу за вас.

Итак, во-первых, вот как изображение обычно отображается в Интернете:

Потому что есть еще много браузеров, которые этого не делают. поддержка WebP (

Safari для систем до Big Sur , Internet Explorer …), мы не можем напрямую заменить наше изображение jpg в формате WebP, так как оно не будет отображаться для всех.

Вот что мы будем использовать:

 
 webp" type="image/webp">



 

Это очень просто:

  • Ваша система поддерживает WebP => ваш браузер отображает изображение WebP.
  • Ваша система не поддерживает WebP => вы видите jpeg версии

Теперь в дело вступает phpthumbon: мы хотим, чтобы плагин конвертировал наше изображение в WebP .

1 — Первый шаг: Установите плагин (безумно верно?! Кто знал?)

2 — Второй шаг: Если вы собираетесь вызывать изображение непосредственно в шаблоне или на странице, вы будете использовать код ниже :

 <картинка>




 

Вот и все! Очень просто!
Теперь ваши изображения будут молниеносными!

Конечно, есть альтернативные варианты, если вы используете телевизор вместо прямого пути к изображению, но вы найдете больше информации в документации каждого плагина. (Не стесняйтесь публиковать свои советы и рекомендации ниже, это может помочь другим).

Но вы поняли!

Ссылки:

developer.mozilla.org

: Элемент Picture — HTML: язык гипертекстовой разметки | МДН

Элемент HTML содержит ноль или более элементов и один элемент, предлагающий альтернативные версии изображения для различных сценариев отображения/устройства.

modstore.pro

phpThumbOn

Павел: Оптимизирован фрагмент phpThumbOf для MODX Revolution

Phpthumbof с MODX 3.0.x — Поддержка

paswd-ru

1

Резюме

Всем привет. После обновления до MODX 3.0.x популярный аддон phpthumb из сломался.

После некоторых исследований я обнаружил, что требуемый класс modPhpThumb был перемещен из core/model/phpthumb/… в core/src/Revolution/modPhpThumb. php . В фрагменте phpthumbof этот класс в основном загружается с loadClass , но я не могу сделать это для новой версии:

  • Если я переименую его в modphpthumb.class.php или потребую класс напрямую, у меня есть исключение Неперехваченная ошибка: класс modPhpThumb не найден в …/core/components/phpthumbof/model/phpthumbof/phpthumbof.class.php:193 .
  • Если я подключаю класс напрямую не из сниппета, а из phpthumbof.class.php , у меня появляется другое сообщение об ошибке: Невозможно объявить класс MODX\Revolution\modPhpThumb, потому что имя уже используется в …/core/src/Revolution /modPhpThumb.php в строке 23 .

Phpthumbof — очень старый аддон, и я думаю, что официального решения этой проблемы не будет. Есть ли у кого-нибудь опыт использования phpthumbof с MODX 3 или, может быть, есть какой-либо другой плагин с такой же функциональностью, работающий с MODX 3?

Шаг для воспроизведения

Попробуйте использовать phpthumb из с MODX 3. 0.x и прочтите журналы ошибок.

Наблюдаемое поведение

См. сводку

Ожидаемое поведение

Корректная работа плагина phpthumbof

Окружающая среда

MODX 3.0.2, php 7.4

dejaya

2

Hey @paswd-ru …

Попробуйте pthumb — это простая замена phpthumbof [поэтому вам не нужно обновлять код], и он работает на MODX 3.x

paswd-ru

3

О, спасибо, работает. Странно, что я не решусь использовать его раньше — думал, что уже пробовал.

1 Нравится

дежая

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *