Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Проблема с cropper.js (https://javascript.ru/forum/library-toolkit-framework/72164-problema-s-cropper-js.html)

Jigum 12.01.2018 17:41

Проблема с cropper.js
 
Я юзаю cropper.js. Возникла такая проблема: никак не выходит установить позицию рамки выделения. Насколько я понял для этого надо использовать метод setCropBoxData. Но он работает как-то очень странно. Рамка ну никак не хочет оказываться в координатах которые я ей туда передаю (left, top). Там вроде написано что через них задается оффсет, ну ок я пробовал так: myX - data.left чтобы вышло смещение, и все равно координаты неверные... Помогите разобраться!

рони 12.01.2018 18:10

Jigum,
немножко кода не помешало бы, а лучше макет

Jigum 15.01.2018 12:44

Цитата:

Сообщение от рони (Сообщение 475039)
Jigum,
немножко кода не помешало бы, а лучше макет

Ну вот например https://jsfiddle.net/kvsbjacr/3/. В консоли можно видеть что координаты сначала одни (до установки), потом через секунду я пытаюсь их жестко задать и они снова выводятся, но совсем не те что я задаю. :blink:

Nexus 15.01.2018 12:51

Цитата:

Сообщение от Jigum
все равно координаты неверные

Вроде бы верно все работает:
https://jsfiddle.net/kvsbjacr/4/
Рамка позиционируется относительно контейнера.

upd. Вот относительно изображения:
https://jsfiddle.net/kvsbjacr/5/

Jigum 15.01.2018 12:53

Цитата:

Сообщение от Nexus (Сообщение 475228)
Вроде бы верно все работает:
https://jsfiddle.net/kvsbjacr/4/
Рамка позиционируется относительно контейнера.

Но мне надо относительно изображения! Как это сделать?

Nexus 15.01.2018 12:56

Jigum, обновил пост №4

рони 15.01.2018 13:22

Jigum,
aspectRatio: 16 / 9 возможно это влияет на значения setCropBoxData

Jigum 15.01.2018 13:23

Цитата:

Сообщение от Nexus (Сообщение 475228)
upd. Вот относительно изображения:
https://jsfiddle.net/kvsbjacr/5/

Вы зря закомментировали логирование. Сразу видно что ваш вариант тоже работает неверно - координаты то не те. :-? https://jsfiddle.net/kvsbjacr/6/

Цитата:

Сообщение от рони (Сообщение 475234)
Jigum,
aspectRatio: 16 / 9 возможно это влияет на значения setCropBoxData

Этого нет в оригинале, осталось от какого-то другого примера. Можно убрать - результат тот же.

рони 15.01.2018 13:30

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>

рони 15.01.2018 13:35

Jigum,
а так пост №9 ?


Часовой пояс GMT +3, время: 10:06.