0

所以我有这个小代码:

    var previousImgFileSize;
var loadedGl = setInterval(function(){  
var data_url = renderergl.domElement.toDataURL();
var head = 'data:image/png;base64,';
var imgFileSize = Math.round((data_url.length - head.length)*3/4) ;
var logit = console.log(imgFileSize);
if (imgFileSize != previousImgFileSize && previousImgFileSize){
    alert("Ready");
}
previousImgFileSize=imgFileSize;
}, 100);

我想要做的是检查 var imgFileSize 是否已更改,因此如果我运行上面的代码,它将输出一个特定的数字,但稍后当另一个图像加载时,它会将 var 值更改为另一个我想听/检查的数字发生这种情况我该怎么办?

它是<canvas>由 three.js 提供支持的,它每秒左右创建一个黑色屏幕截图,因此当尚未在其中加载任何内容时,第一张图像始终是相同大小,<canvas>因为当画布已加载并显示 3d 时它是黑色/空白图像模型然后数据图像每秒再次更改为场景的屏幕截图(第二张图像),但第二张图像的文件大小更大,因为它有颜色而不仅仅是黑色......这就是我想要捕捉的。第一次文件大小改变...

当文件立即更改时,上面的代码不会更新 var,事实上我必须先旋转场景几次,然后才能捕获 var ...

4

0 回答 0