绘制到HTML5 Canvas的图像在第一次加载时不能正确显示
Image drawn to HTML5 Canvas does not display correctly on first load
我正在遵循在HTML5画布上导入和显示图像的教程。一切都很好,直到我试图改变图像本身。例如,我将有一个黄色的圆圈作为我的图像,脚本工作良好。但是,如果我在Paint中打开图像本身并将圆圈更改为红色,然后刷新页面,圆圈将不会显示,直到我再次手动单击或刷新。下面是我使用的代码片段:
var topMap = new Image();
topMap.src = "topMap.png";
function drawMap() {
context.clearRect(0, 0, WIDTH, HEIGHT);
context.drawImage(topMap, 0, 0);
}
function init() {
drawMap();
}
init();
圆圈可能没有显示,因为您在加载图像之前绘制它。将最后一条语句更改为:
// Lets not init until the image is actually done loading
topMap.onload = function() {
init();
}
在你点击刷新后它会工作的原因是因为图像现在已经预加载到缓存中了。
你总是想等待任何图像加载之前,你试图绘制他们,否则什么也不会显示在画布上。
相关文章:
- 如果数据为空,Ajax加载不会停止
- FileReader加载不在控制器范围Angular 2内
- requireJS 中的车把加载不成功
- 关闭-库加载不正确
- 弹出加载不起作用
- jQuery UI加载不正确?找不到对话框方法
- GULP中的Ctrl+S之后,实时重新加载不起作用
- 在解决Firebase GetRecord之前,视图加载不完整
- 网页加载不正确:'"JSON”;未定义'错误
- 加载不是来自“xampp的htdocs”或“root”文件夹的图像
- 阻止推特分享按钮加载不正确
- Durandal View偶尔加载不正确,而且总是在缩小时加载不正确
- 影子盒加载不起作用
- 传单显示悬停时的地图 - 地图加载不正确
- 余烬 CLI 实时重新加载不起作用
- 在Javascript中保存和加载不起作用
- 图像加载不能正常执行
- 偶尔懒惰加载不会;Don’我不能在有角度的情况下工作
- templateUrl资源加载不能使用webpack
- 隐藏的东西,而通过jquery加载不能正常工作