WP Plugin Active Contour для WordPress — визуальное редактирование контуров на изображениях

Идея сделать этот плагин возникла у меня уже давно, но как это часто бывает, не хватало времени «сесть и реализовать». Но не давно, я остался без контракта, и у меня появилось время на собственные проекты. Одновременно хотелось попробовать давно интересовавшую меня тему — создание собственных Gutenberg-блоков для редактора WordPress. Так родился Active Contour — плагин, позволяющий создавать и редактировать контуры поверх изображений прямо в интерфейсе WordPress.

GitHub репозиторий:
https://github.com/sshra/active-contour

Страница на wordpress.org
https://wordpress.org/plugins/active-contour/

Зачем это может понадобиться?

Плагин может быть полезен в самых разных задачах:

  • для разметки изображений (например, объектов на фото);
  • в учебных или интерактивных материалах;
  • в дизайне, инфографике, интерактивных галереях.

Основной функционал

Active Contour позволяет:

  • Привязывать один или несколько контуров к каждому изображению из медиабиблиотеки.
  • Добавлять контуры вручную с помощью точек и дуг.
  • Использовать Gutenberg-блок для вставки изображения с наложенными активными контурами в пост или страницу.
  • Так как Gutenberg-блок по сути создаёт настройки для shortcode, то можно вставлять контуры с помощью шорткодов вида везде, где это поддерживается:
    -- айди не верен -- — где id — ID изображения, а cid — список номеров контуров (более подробнее дальше в статье).
  • Рендерить превью прямо в редакторе блоков.
  • Экспортировать данные в виде JSON-объектов (предполагается, что пользователь использует какой то ИИ для генерации точек контура, потому в админке есть пример промпта с описанием нужного формата для экспорта).

Немного о реализации

Плагин использует:

  • JavaScript и jQuery для канвас-редактора;
  • register_block_type и registerBlockType для регистрации собственного блока в Gutenberg;
  • элементы ReactJS для настройки блока в редакторе;
  • REST API WordPress для генерации HTML-превью прямо в редакторе;
  • Метаполя для хранения контуров (в формате JSON) на уровне вложения (attachment).

Также реализована возможность экспорта данных — плагин генерирует подсказку, которую можно скопировать в GPT (или другой AI), чтобы автоматически получать JSON с описанием объектов на изображении и точками контура.

Параметры шорткода -- айди не верен --

Плагин использует шорткод для вставки изображения с активными контурами в любую часть записи, страницы или произвольного блока. Шорткод можно вставить вручную или через собственный Gutenberg-блок. Пример:

ПараметрОписание
id(обязательный) ID изображения из медиабиблиотеки WordPress. Вы можете найти его в URL при редактировании вложения.
cidСписок ID контуров, которые должны быть показаны. Можно указать несколько через запятую (например, 1,2,3). Если не указано — по умолчанию ничего не отображается.
groupНазвание группы, к которой относятся выбранные контуры. Если указана, плагин может использовать это значение для фильтрации или группировки контуров.
tagsТеги, связанные с контурами. Можно указать несколько через запятую. Используются для фильтрации (например, по типу объектов: npc, weapon, zone и т.п.).
sizeРазмер изображения. Поддерживаются thumbnail, medium, large, full и любые зарегистрированные размеры в теме. Пример: medium. Я исключаю из набора размеры, которые могут обрезать картинку. Вычисляются такие «кандидаты на выбывание» по aspectRatio.
alignВыравнивание блока с изображением. Поддерживаются значения left, right, center, none. Работает аналогично атрибуту align у стандартного изображения.

Управление в редакторе

Контуры редактируются прямо поверх картинки через знакомом интерфейсе WP для media вложений — можно щёлкать мышью по изображению, добавлять и удалять точки, формировать дуги, использовать «лупу» с увеличением (горячие клавиши описаны в readme.txt плагина).

Мало букафф? Читайте есчо !

Добавление поля с картинкой в редактор таксономии WP

Июль 4, 2017 г.

Таксономия (словари) Wordpress может быть модифицирована под любые нужды проекта. Для этого CMS предоставляет мощное API, благодаря которому есть готовые ...

Читать

Удаление фильтра в WP, когда callback - метод класса плагина

Август 17, 2017 г.

При программировании в WP мы очень часто добавляем какие то фильтры и действия. А если посмотреть в код любого плагина - это сборники реализаций зацепок. Не всегда авторы дают возможность гибко управлять поведением их плагина через настройки. Тогда ...

Читать

Обновление Alpha cache - v1.2

Март 27, 2017 г.

Уже пошел 5й год, как я выпустил Alpha Cache. Писал этот модуль для собственных нужд,  не хотелось разбираться с тонкостями настройки готовых модулей, и задача мне казалась интересной. Последний раз обновлял модуль больше года назад, т.к. особых ...

Читать

Как получить стоимость товара в WC_Order

Ноябрь 22, 2020 г.

Искал как вытянуть стоимость позиций товара из заказа в woocommerce. А в итоге обнаружил неточность в документации плагина. Если вы располагаете идентификатором заказа, который по сути является posd_id, то алгоритм получения данных о строках заказа ...

Читать
 

Комментарии к «WP Plugin Active Contour для WordPress — визуальное редактирование контуров на изображениях»

Понравилась статья? Есть вопросы? - пишите в комментариях.



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