Готов сообщить радостную новость (по крайней мере для меня), что вышла новая версия кроппера 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
, чтоб не возникало вопросов "почему не работает", т.к. есть изменения!