如何将 toDataURL 与图像加载功能一起使用?

发布于 2024-12-10 15:05:57 字数 343 浏览 4 评论 0原文

function resetDisplayImg(){
var tempImage = new Image();

tempImage.src=document.getElementById("myCanvas").toDataURL("image/png");
tempImage.onload=function(){
context.drawImage(tempImage1,0,0,Canvas_WIDTH,Canvas_HEIGHT);
}

每次

当我调用上面的函数时,我必须调用两次才能正确运行。我知道使用“onload”功能可以解决这个问题,但即使我应用它,问题仍然会发生。我犯了什么错误吗?

function resetDisplayImg(){
var tempImage = new Image();

tempImage.src=document.getElementById("myCanvas").toDataURL("image/png");
tempImage.onload=function(){
context.drawImage(tempImage1,0,0,Canvas_WIDTH,Canvas_HEIGHT);
}

}

Everytime when i call the function above, i have to call two times then it will function correctly. I know with function "onload" can solve this problem but the problem still occur even if i applied it. Is there any mistake that i had made?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秋凉 2024-12-17 15:05:57

.src 行放在 onload 之后

BUT 你不应该首先这样做。您可以直接将一个画布绘制到另一个画布上,因此您只需编写:

context.drawImage(document.getElementById("myCanvas"), 0, 0); 即可完成!

put the .src line after the onload

BUT you shouldnt be doing this in the first place. You are allowed to directly draw one canvas to another, so instead you can just write:

context.drawImage(document.getElementById("myCanvas"), 0, 0); and be done!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文