Ми}{алы4

Блог хеллоуворлдщика

Новая версия yii2-widget-cropbox

23.10.2015 yii2, cropbox, jquery, image

Готов сообщить радостную новость (по крайней мере для меня), что вышла новая версия кроппера 4.0.0! Лично я доволен как слон.

Изменения были очень весомые и, так как поменялась мажорная циферка в версии, тот как мы все знаем это значит, что расширение уже не совместимо с предыдущим. Поэтому, если хотите использовать в старом проекте, где была версия *3.,** то придется переписать чуточку кода.

Самое главное, что изменилось в кроппере, это то, что мной был написан jQuery плагин, что позволяет использовать кроппер не только в Yii Framework, но и в любых других проектах. В прошлых версиях я использовал обертку над одним готовым плагином для jQuery плюс некоторые дополнения в этот плагин. Но время не стоит, мы делаем код лучше и совершенствуемся. Например, после релиза плагина было замечено, что работает он в разы быстрей предыдущего.

Взять плагин можно вот здесь: https://github.com/bupy7/jquery-cropbox

Демо плагина: http://bupy7.github.io/jquery-cropbox/

Теперь, изменения плагина не затрагивает изменения в виджете. Это огромный плюс и правильный подход. Разделяй и властвуй!

Уже даже появились первые пожелания по юзабильности, а именно - сделать "умный" зум, потому что если изображения очень большое, то увеличение/уменьшение слишком медленное, что приносит неудобства. Что ж, исправим! Не все сразу. =)

Изменения в самом плагине следующие:

  • Масштабирование через колёсико мыши. В будущем планирую сделать публичной функцию, которая управляет масштабированием, чтобы желающие могли вешать на кнопки или еще куда-то.
  • Изменения размера рамки обрезки за уголок. Если изменение недоступно, то данное событие не работает. Границы изменения необходимо задавать в настройках плагина.
  • Возможность указать произвольный селектор до кнопки с обрезкой, выбора изображения из файла, сброса, контейнера с результатами изображений и блок с сообщениями.
  • Кнопка сброса имеет "память" на случай, если изображения в контейнере с результатами обрезки уже есть, а вы решили отметить свои действия. (Для этого необходимо уже обрезанные изображения помещать в контейнер с результатами указанный в настройках плагина до его инициализации.)
  • Ограничение за выход из действительной области изображения рамкой для обрезки.
  • Рабочая область кроппера резиновая, что позволяет ему подстраиваться под размер экрана, но вы всегда можете изменить это через CSS. =)

И это не предел. Дальше больше! =)

Сам виджет для Yii2 можно взять здесь: https://github.com/bupy7/yii2-widget-cropbox

Внимательно читайте README, чтоб не возникало вопросов "почему не работает", т.к. есть изменения!