Кроппер не переинициализировался Если я сначала не обрезал старое изображение - PullRequest
0 голосов
/ 14 ноября 2018

У меня проблема с моим проектом.

Я использую кроппер для изображения. Но кроппер не работал правильно. Когда я загружаю изображение, показывается опция обрезки. Но если я добавлю другое изображение без обрезки первого, то обрезка не изменит изображение.

Вот мой код

function initCropper(){
    var crop_button_show = document.getElementById("crop_button_show");
    crop_button_show.style.display = "block";
    var image = document.getElementById('thumbnail_preview');
    var cropper = new Cropper(image, {   
        viewMode: 3,
        aspectRatio: 500/410,
        cropBoxResizable: false,
        minCropBoxWidth: 500,
        minCropBoxHeight: 410, 
    });

    document.getElementById('crop_button').addEventListener('click', function(){
        var imgurl =  cropper.getCroppedCanvas().toDataURL();
        var img = document.createElement("img");
        img.class = "img-responsive show-preview";
        img.src = imgurl;
        img.id = "thumbnail_preview";
        jQuery("#image_resize").empty();
        jQuery("#image_resize").append(img);

        var input = document.createElement("input");
        input.name = "image";
        input.type = "hidden";
        jQuery("#image_resize").append(input);
        $('input[name=image]').val(imgurl.replace('data:image/png;base64,', ''));
        crop_button_show.style.display = "none";
    });
}

Я не знаю, где сбросить кропер со второго раза. Если я обрезаю изображение, а затем снова загружаю imgae, то кроппер работает отлично.

...