Thumb2x — это мощный и гибкий компонент для обработки изображений



Thumb2x — это мощный и гибкий компонент для обработки изображений, созданный для MODX2.

В основе лежит высокопроизводительная библиотека Glide 2.3.2, обеспечивающая создание изображений «на лету».


Основные возможности
  • В основе лежит высокопроизводительная библиотека Glide 2.3.2, обеспечивающая создание изображений «на лету». Поддерживает современные форматы изображений.
  • Поддержка Источников файлов позволяет работать с изображениями из любого места. Все ключевые параметры (драйвер обработки, права доступа) вынесены в системные настройки.
  • Поддержка не только нарезки и изменения размера, но и наложения фильтров, эффектов и водяных знаков через простые параметры в сниппете.
  • Компонент ведет учет всех сгенерированных файлов в базе данных, что дает основу для аналитики и позволяет управлять кэшем через удобную таблицу в админке.

Документация тут: https://docthumb2x.ivan345.com/ru/

Сам компонент в modstore: https://modstore.pro/packages/photos-and-files/thumb2x

Сам компонент в extras.modx.com: https://extras.modx.com/package/thumb2x
Ivan K.
17 июля 2025, 08:06
modx.pro
728
+14
Поблагодарить автора Отправить деньги

Комментарии: 5

Maks
31 июля 2025, 12:17
0
Попробовал на одной странице
<img src="{$main_news_img | pthumb : 'w=490&h=320&zc=1$f=webp&q=90'}" class="bg-img blur-up lazyload"
                    alt="{$pagetitle}">
Время генерации страницы: 0,3308 s
Время парсинга: 0,2667 s
Время выполнения запросов: 0,0641 s
Всего запросов: 274
Источник: database

Второй вариант
{var $params = [
                'w' => 490,
                'h' => 320,
                'fit' => 'stretch',
                'fm' => 'webp'
                ]}
                <img src="{'Thumb2x' | snippet : ['input' => $main_news_img,'options' => $params]}"
                    class="bg-img blur-up lazyload" alt="{$pagetitle}">
Время генерации страницы: 0,3447 s
Время парсинга: 0,2722 s
Время выполнения запросов: 0,0725 s
Всего запросов: 338
Источник: database

По количеству запросов что то совсем не впечатляет.
    Ivan K.
    31 июля 2025, 23:42
    +1
    pthumb работает по принципу «проверил файл в кэше -> отдал». Он проверяет только наличие файла на диске. Это очень быстрая файловая операция, которая не требует запросов к базе данных.
    Thumb2x работает по более сложной схеме: «проверил запись в БД -> сгенерировал -> записал в БД».

    Самое главное — это увеличение запросов происходит только во время первой генерации некэшированной страницы MODX.
    Как только MODX кэширует страницу целиком, её HTML отдаётся пользователю мгновенно. Ни сниппет pthumb, ни Thumb2x больше не запускаются, и никаких дополнительных запросов к БД не происходит.
    На производительность для конечного пользователя (на кэшированном сайте) это не влияет. Разница заметна только для администратора при первом заходе на страницу или при сбросе кэша.
    Сергей
    31 июля 2025, 16:37
    0
    Спасибо конечно за компонент, но столкнулся с рядом ошибок.
    1. Картинки с внешней ссылки не поддерживает
    2. Картинки на 30% весят больше по сравнению с pthumb
      Ivan K.
      31 июля 2025, 23:36
      0
      В текущей реализации компонент работает только с локальными файлами, которые находятся в пределах указанного источника файлов.
      Библиотека Glide, которую использует компонент, по умолчанию настроена на работу с LocalFilesystemAdapter — адаптером для локальной файловой системы. Это сделано в первую очередь для безопасности и предсказуемости работы.
      Поддержку внешних URL, возможно сделаю в следующей версии.
      По весу картинок я сравнительных тестов не проводил.
        Ivan K.
        31 июля 2025, 23:47
        0
        Попробуйте в настройках выставить используемый драйвер в значение imagick
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      5