Open alexgivi opened 6 years ago
I don't understant the problem. What do you mean?
About events: you can add this events yourself and send me pull-request.
@bupy7 в общем проблема такая: при обрезании картинки надо зафиксировать соотношение сторон (длины к ширине), чтобы нельзя было обрезать картинку в каком-либо другом соотношении, кроме указанного. например 4 к 5. мне пришлось решать эту проблему при помощи обработки события mousemove и пересчета ширины рамки, исходя из высоты. вот код:
var cropbox = this.cropbox;
$(document).on('mousemove', function () {
if (cropbox._resizeState.dragable) {
var height = cropbox._frame.clientHeight;
var width = height * 4 / 5;
cropbox._refrashSizeFrame(width, height);
}
});
все бы ничего, но для этого приходится ковыряться в исходниках библиотеки, разбираться, что там как устроено, что не есть хорошо. если бы такая возможность была заложена - было бы здорово. на уровне параметра, например так: new Cropbox('#plugin', {frameRatio:0.8}); и при изменении размера рамки была бы проверка на это дополнительная, и шел бы пересчет ширины исходя из высоты (или наоборот). а о событиях я думал в разрезе этой проблемы, сами по себе они не нужны, т.е. по ним и делать то особо нечего. в принципе мы решили эту проблему для себя, но если бы в библиотеке была такая возможность - она была бы еще лучше)
@alexgivi 4/5
это любой размер сторон (ширины и высоты), где коэффициент сжатия равен 0,8
(100x125, например). Можно установить любой размер рамки с коэффициентом 0,8
и запретить изменять её. Используя масштаб можно выбирать абсолютно любую область для обрезки. Нет необходимости делать рамку изменяемой.
Можно добавить свойство для одновременного изменения размера рамки. Постараюсь сделать в скором будущем.
is it a way to fix crop frame ratio? for example: 4/5. another way to solve this problem - is to handle mouseMove events. It'll be great, if you add events such as frameResized, frameMoved, imageScaled, imageMoved, and so on.