Javascript 图像加载不正确
我正在开发一个可以在IOS设备上运行的HTML和js应用程序。在这个应用程序中,我使用了很多图像,并使用src设置函数中这些图像的路径。在这个函数完成后,我调用另一个函数,在这里我正在绘制画布,问题是所有这些图像没有正确加载,一些图像的宽度仍然为0。如何确保在调用下一个函数之前正确加载所有图像Javascript 图像加载不正确,javascript,html,ios,canvas,Javascript,Html,Ios,Canvas,我正在开发一个可以在IOS设备上运行的HTML和js应用程序。在这个应用程序中,我使用了很多图像,并使用src设置函数中这些图像的路径。在这个函数完成后,我调用另一个函数,在这里我正在绘制画布,问题是所有这些图像没有正确加载,一些图像的宽度仍然为0。如何确保在调用下一个函数之前正确加载所有图像 感谢您可以使用image onload事件在映像完全加载时触发代码运行;下面是一个例子。在我设置image.src之后,当映像在某处被完全加载时,连接到image.onload的处理程序中的代码将运行 v
感谢您可以使用image onload事件在映像完全加载时触发代码运行;下面是一个例子。在我设置image.src之后,当映像在某处被完全加载时,连接到image.onload的处理程序中的代码将运行
var p = {
display: function(imageUrl) {
var availableDimensions = this.getAvailableDimensions();
$("#loadingImg").css("display", "none");
var canvas = document.getElementById("myCanvas");
var image = new Image();
image.onload = function() {
canvas.width = image.width;
canvas.height = image.height;
canvas.getContext("2d").drawImage(image, 0, 0, image.width, image.height);
canvas.style.display = "inline";
};
image.src = imageUrl + "&width=" + availableDimensions.width + "&height=" + availableDimensions.height + "&negative=false";
}
}
您可以使用image onload事件在映像完全加载时触发代码运行;下面是一个例子。在我设置image.src之后,当映像在某处被完全加载时,连接到image.onload的处理程序中的代码将运行
var p = {
display: function(imageUrl) {
var availableDimensions = this.getAvailableDimensions();
$("#loadingImg").css("display", "none");
var canvas = document.getElementById("myCanvas");
var image = new Image();
image.onload = function() {
canvas.width = image.width;
canvas.height = image.height;
canvas.getContext("2d").drawImage(image, 0, 0, image.width, image.height);
canvas.style.display = "inline";
};
image.src = imageUrl + "&width=" + availableDimensions.width + "&height=" + availableDimensions.height + "&negative=false";
}
}
这将确保加载所有图像
这将确保加载所有图像
请在提问之前进行更多搜索 等待图像完成加载很容易:
var img = new Image(); // Create new img element
img.onload = function(){
// execute drawImage statements here
};
img.src = 'myImage.png'; // Set source path
在尝试绘制之前,请确保已为每个图像触发onload事件。如果您有多个图像,并且不想使某些内容变得复杂,那么有一些库可以为您执行此操作,例如。请在提问之前进行更多搜索 等待图像完成加载很容易:
var img = new Image(); // Create new img element
img.onload = function(){
// execute drawImage statements here
};
img.src = 'myImage.png'; // Set source path
在尝试绘制之前,请确保已为每个图像触发onload事件。如果您有多个图像,并且不想使某些事情变得复杂,那么有一些库可以为您执行此操作,例如。我们需要查看您的相关代码。可能的重复我们需要查看您的相关代码。可能的重复如果您可以为一个图像执行此操作,那么您肯定可以为多个图像执行此操作,不是吗,如果你能为一张图片做这件事,你肯定能为许多图片做这件事,不是吗?这救了我!!!在连续两个小时努力找出问题所在之后!起初它不起作用,但我在onload函数中添加了图像加载后的所有代码。这听起来很基本,我是第一次使用Js,但是谢谢!这救了我!!!在连续两个小时努力找出问题所在之后!起初它不起作用,但我在onload函数中添加了图像加载后的所有代码。这听起来很基本,我是第一次使用Js,但是谢谢!