Я беру изображение от пользователя, выполняя операцию обрезки, преобразуя его в base64
, а затем рисуя на холсте. Для обрезки я использую библиотеку jcrop
.
$(document).on("change","#photograph",function() {
$("#picCrop").modal('show');
$("#views").empty();
image = null;
canvas = null;
alert("canvas"+(canvas==null)+" Image"+ (image==null));
loadImage(this);
$(this).replaceWith('<input id="photograph" type="file" class="form-control">');
});
Здесь я столкнулся с проблемой, без alert("canvas"+(canvas==null)+" Image"+ (image==null));
изображение не видно на холсте, в случае больших изображений оно отображается только в том случае, если я подождал некоторое время, прежде чем нажать кнопку окна предупреждения.
Ссылка на скрипт: https://jsfiddle.net/govi20/spmc7ymp/5/ (закомментируйте строку alert
, чтобы проверить результат)