Canvas 图像裁剪器 - canvas.toDataURL 正在异步执行此 return 任何类型的承诺
Canvas image cropper - canvas.toDataURL is acting asynchronously does this return any kind of promise
如果我在 'toDataURL' 和使用结果的 canvas 抽签之间发出警报,那么一切都会按预期进行。
toDataURL 是否会在 canvas 上触发事件,或者我应该为我设置的图像源使用某种 'onLoad' 吗?
IE img.addEventListener('load',函数(){...}
.toDataURL
是同步操作,不会触发任何事件。
由于是同步的,因此它是一个阻塞操作,因此不需要 alert
来阻止在 toDataURL 完全完成之前执行下一个命令。当 toDataURL 完全完成时,将执行下一个命令。
由于您使用 dataURL 作为图像源,因此您需要通过分配回调来为图像加载时间:
var img=new Image();
img.onload=function(){
ctx.drawImage(img,0,0);
}
img.src=canvas.toDataURL();
.toDataURL is a synchronous operation that does not trigger any events.
This is not true anymore for Chrome 57. Not sure if this is a bug or on purpose.
如果我在 'toDataURL' 和使用结果的 canvas 抽签之间发出警报,那么一切都会按预期进行。
toDataURL 是否会在 canvas 上触发事件,或者我应该为我设置的图像源使用某种 'onLoad' 吗?
IE img.addEventListener('load',函数(){...}
.toDataURL
是同步操作,不会触发任何事件。
由于是同步的,因此它是一个阻塞操作,因此不需要 alert
来阻止在 toDataURL 完全完成之前执行下一个命令。当 toDataURL 完全完成时,将执行下一个命令。
由于您使用 dataURL 作为图像源,因此您需要通过分配回调来为图像加载时间:
var img=new Image();
img.onload=function(){
ctx.drawImage(img,0,0);
}
img.src=canvas.toDataURL();
.toDataURL is a synchronous operation that does not trigger any events. This is not true anymore for Chrome 57. Not sure if this is a bug or on purpose.