2つのイメージをロードし、結合されたイメージのbase64エンコードを返すloadtexture関数を呼び出すmain関数がありますが、イメージを読み込もうとしているときにonload関数をスキップしています。onload関数がスキップされています
$(document).ready(function() {
var modelPath = "models/testhiddenUV.obj";
var texture = loadTexture();
loadModel(texture, modelPath, "designCanvas");
});
function loadTexture() {
var frontImage = new Image();
var backImage = new Image();
var canvas = document.getElementById("designCanvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "#FFF";
ctx.fillRect(0,0,1024,1024);
//skips whole onload functions to the end
frontImage.onload = function() {
frontImage.src = "models/wine.jpg";
ctx.drawImage(frontImage,0,0);
backImage.onload = function() {
backImage.onload = "models.petro21.jpg";
ctx.drawImage(backimage, 804, 0);
return canvas.toDataUrl("image/png");
}
}
私にはコードが正しいように見えるので、実行する必要があります。私はonload関数で何か不足していますか?なぜそれらのコード行をスキップするのですか?
私はあなたのonload外画像 'src'を設定する必要があると思います。指定されたイメージのURLがダウンロードされ、 'load'がトリガーされたときです。 – Rhumborl
[JavaScript onload function not firing]の重複の可能性があります(http://stackoverflow.com/questions/21360910/javascript-onload-function-not-firing) – Rhumborl