Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript html5画布图像不显示或图像未加载_Javascript_Image_Canvas_Load_Html5 Canvas - Fatal编程技术网

Javascript html5画布图像不显示或图像未加载

Javascript html5画布图像不显示或图像未加载,javascript,image,canvas,load,html5-canvas,Javascript,Image,Canvas,Load,Html5 Canvas,出于版权原因,我删除了链接!。。对不起 在Firefox中,左侧的图像(所有的模型)在刷新几次后被加载到chrome和safari中,它永远不会显示 我认为这是一个图像没有加载到内存中的问题,但我不知道什么时候图像都加载了,我把脚本放在了最后,但没有运气 所以问题是,在加载图像之前,应该做些什么。。JavaScript代码中是否存在错误 n、 b。 我很难将图像编码为base64用于画布显示。。。这样做是可能的还是明智的?实际上,您可以确定所有图像何时完成加载。为此,只需为image对象的onl

出于版权原因,我删除了链接!。。对不起

在Firefox中,左侧的图像(所有的模型)在刷新几次后被加载到chrome和safari中,它永远不会显示

我认为这是一个图像没有加载到内存中的问题,但我不知道什么时候图像都加载了,我把脚本放在了最后,但没有运气

所以问题是,在加载图像之前,应该做些什么。。JavaScript代码中是否存在错误

n、 b。
我很难将图像编码为base64用于画布显示。。。这样做是可能的还是明智的?

实际上,您可以确定所有图像何时完成加载。为此,只需为image对象的
onload
属性指定一个回调函数。因此,您将得到类似的结果(除了您在
canvas.js
中已有的代码之外):

var加载的_图像=0;
var image_objects=[];
//一旦所有图像完成加载,就会调用此函数。
函数drawOnCanvas(){
对于(变量i=0;ivar loaded_images = 0;
var image_objects = [];

// This is called once all the images have finished loading.
function drawOnCanvas() {
    for (var i = 0; i < image_objects.length; ++i) {
        ctx.drawImage(image_objects[i], 0, 0); 
    }
}

function handleLoadedImage() {
    ++loaded_images;

    // Check to see if all the images have loaded.
    if (loaded_images == 7) {
        drawOnCanvas();
    }
}

document.ready = function() {
    for (var i=0;i<myimages.length;i++) {
        var tempimage = new Image();
        tempimage.src= myimages[i];
        tempimage.onload = handleLoadedImage;
        image_objects[i] = tempimage;
    }
}