Проблема с cropper.js
Я юзаю cropper.js. Возникла такая проблема: никак не выходит установить позицию рамки выделения. Насколько я понял для этого надо использовать метод setCropBoxData. Но он работает как-то очень странно. Рамка ну никак не хочет оказываться в координатах которые я ей туда передаю (left, top). Там вроде написано что через них задается оффсет, ну ок я пробовал так: myX - data.left чтобы вышло смещение, и все равно координаты неверные... Помогите разобраться!
|
Jigum,
немножко кода не помешало бы, а лучше макет |
Цитата:
|
Цитата:
https://jsfiddle.net/kvsbjacr/4/ Рамка позиционируется относительно контейнера. upd. Вот относительно изображения: https://jsfiddle.net/kvsbjacr/5/ |
Цитата:
|
Jigum, обновил пост №4
|
Jigum,
aspectRatio: 16 / 9 возможно это влияет на значения setCropBoxData |
Цитата:
Цитата:
|
Jigum,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.2.2/cropper.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.2.2/cropper.min.js"></script> <script> window.addEventListener('load', function() { var image = document.getElementById('image'); var cropper = new Cropper(image, { crop: function(e) { var cropper = this.cropper; console.log(cropper.getCropBoxData()); }, ready: function() { var cropper = this.cropper; console.log(cropper.getCropBoxData()); setTimeout(function() { cropper.setCropBoxData({left: 100, top : 200, width : 300, height: 50}); }, 1000) } }); }); </script> </head> <body> <img id="image" src="https://fengyuanchen.github.io/cropperjs/images/picture.jpg" /> </body> </html> |
Jigum,
а так пост №9 ? |
Цитата:
Установите смещение в 1px. upd. в свойство "detail" события записываются данные метода "getData", они не отражают позиции cropBox'а. https://jsfiddle.net/kvsbjacr/7/ Описание метода: Цитата:
|
Блин я запутался. :( Неразберихи добавляет и то что у меня изображение пожатое до 40% (просто в оригинале оно довольно большое). Буквально я вывожу на страницу
<img src="img.png" width="40%" height="40%"/> Из-за этого путаница в цифрах. Пока что все равно никак не выходит верно установить позицию вручную. Но судя по всему очень похоже на то что e.detail то как раз возвращает верные координаты! А вот установка все-равно не пашет. :( |
Я все еще жду помощи!!! Проблема не решена! :help:
|
|
Цитата:
|
Jigum, не понял вопроса.
|
Цитата:
Цитата:
|
Jigum, что вы хотите сделать?
Как установить точные координаты я показал. |
Цитата:
Если более подробно: у меня есть два инпута куда при каждом кропе пишутся координаты рамки. Изначально там уже сохранены координаты, а сам кроппер выключен. При нажатии кнопки кроппер включается и можно выбирать рамочкой координаты (которые сразу запишутся в инпуты). Сейчас установка работает однозначно неверно, потому что я знаю где должна быть рамка на этом изображении для указанных координат, и она не там... |
Цитата:
Если известны размеры оригинала, координаты рамки и коэффициент уменьшения изображения, то получить координаты рамки для уменьшенного изображения не сложно (нужно координаты умножить на 1-(коэф/100)). Цитата:
Считаете что библиотека написано криво - исправьте ошибки, которые найдете или напишите свою. |
Часовой пояс GMT +3, время: 12:29. |