Проблема с 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, время: 10:06. |