Кадрирование изображения camanjs Невозможно прочитать свойство 'длина' из неопределенного - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь обрезать изображение, используя camanjs ниже, это то, что я пробовал

<input type="file" id="file">
<div id="image-editor-preview"></div>

<script>
    document.querySelector('#file').addEventListener('change',function(){
        loadImage(this);
    });

    function loadImage($el){
        if ($el.files && $el.files[0]) {
            let $reader = new FileReader();

            $reader.onload = function(e) {
                let $image = new Image();
                $image.src = e.target.result;
                if( document.querySelector('#image-editor-preview img') != null ){
                    document.querySelector('#image-editor-preview img').remove();
                }
                $image.onload = function(){
                    cropCenter(this.width,this.height);
                }
                document.querySelector('#image-editor-preview').appendChild($image);
            }

            $reader.readAsDataURL($el.files[0]);
        }
    }
    function cropCenter($w,$h){
        let caman = Caman('#image-editor-preview img');

        let $x = ( $w - 300 ) / 2; // get the center
        let $y = ( $h - 300 ) / 2; // get the center

        caman.crop(
            300,
            300,
            $x,
            $y
        );

        caman.render();
    }
</script>

к сожалению, это дает мне эту ошибку

Uncaught TypeError: Невозможно прочитать свойство 'length' с неопределенным значением в Renderer.Caman.Renderer.Renderer.execute (camanjs.min.js: 160) в Caman.render (camanjs.min.js: 54)

любая помощь, идеи, пожалуйста

...