关于canvas无法通过drawImage加载的原因
2017-12-06 10:33
246 查看
在使用drawImage方法的时候,发现无法加载
原因是图片的加载时异步的。在资源还没有加载完成的时候就执行了drawImage所以无法成功加载到画布当中。正确的写法应该是保证图片在onload以后才调用drawImage,而不是网上说的window.onload,因为我们的文档中并没有IMG元素
var can = $('#mycanvas')[0]; var cxt = can.getContext('2d'); var bg = new Image(); bg.src = "img/bg.jpg"; cxt.drawImage(bg, 0, 0);
原因是图片的加载时异步的。在资源还没有加载完成的时候就执行了drawImage所以无法成功加载到画布当中。正确的写法应该是保证图片在onload以后才调用drawImage,而不是网上说的window.onload,因为我们的文档中并没有IMG元素
var can = $('#mycanvas')[0]; var cxt = can.getContext('2d'); var bg = new Image(); bg.src = "img/bg.jpg"; //图片资源加载时异步的。必须保证图片资源加载完成后才行 bg.onload = function() { cxt.drawImage(bg, 0, 0); }
相关文章推荐
- 关于Wampserver软件安装后输入localhost无法加载页面的原因
- 关于ligerUI中ligerTree代码中的一个bug,造成该控件无法通过url的POST方式加载数据
- 关于CI框架通过修改.htaccess文件的办法解决无法加载资源文件的方法
- 关于tomcat下spring无法加载依赖jar中properties文件的原因分析
- 关于gsoap工具soapcpp2.exe无法通过头文件生成wsdl接口描述语言文件的原因
- 在命令行下编译通过,运行时提示错误:找不到或无法加载主类的原因分析与解决方式
- 关于java 通过ftp上传到linux服务器上无法创建目录问题
- 关于android6.0的拍照调不起裁剪程序,并提示“文件无效,无法加载”
- 关于使用EmguCV出现 “无法加载 DLL“cvextern”: 找不到指定的程序” 的解决方法
- 关于在单独的 Js文件中无法使用 <%= %> 的原因及解决方案
- 关于asp.net mvc 渐进式ajax无法加载OnSuccess回调函数
- 无法分析从服务器收到的消息。之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器、HttpModule 或服务器跟踪。
- 关于vbA等项目出现计算机无法加载项目处理方法。
- 关于手机刷机后,eclipse中Logcat无法输出log信息的原因
- 关于TextFiled超链接无法通过HtmlText点击的处理
- 邮件中的超链接无法跳转到其它页面并加载的原因
- IE访问HTTPS链接下载文件,IE提示无法下载 博客分类: J2EE 原因: (1) 在IE6/7下,使用HTTPS下载/打开文件时,通过抓包发现文件已传输,但IE提示“Internet E
- 关于通过javamail发送gmail邮件时无法login in问题
- Swift中tableView加载通过xib创建的headerView时,无法显示xib视图内容.
- 关于java命令行在dos窗口下执行class文件时提示“找不到或无法加载类”问题