如何解决canvas.toBlob-加载大图像时,加载图像时整个页面冻结
我正在处理一个上载框。 从OS文件对话框中选择图片后,将向用户显示预览。 此后,将开始上传并执行一些动画(ProgressBar)
,但是问题在于,如果用户选择要上传的大照片 在执行canvas.toBlob()时,整个页面冻结,因此进度条动画失去了平滑的移动,并造成了痛苦的跳转
function getCanvasBlob(canvas) {
return new Promise(function(resolve,reject) {
canvas.toBlob(function(blob) {
resolve(blob);
},'images/jpeg',1)
})
}
首先,我认为这是因为在浏览器中加载了大文件,并编写了一些代码将所选图像的大小调整为100px * 100px 但这不是问题。
我可以设置上传的大小限制,但我不想为此项目设置。
我搜索了很多东西,才发现这个问题image.src to large image freezes while loading
它使用canvas.toDataURL()而不是canvas.toBlob() 我也尝试过canvas.toDataURL()但有同样的问题 还没有人回答这个问题
那么有什么办法摆脱它?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。