とあるHTMLページ上に、複数のCanvas要素を配置しています。
そのそれぞれののCanvasに別々の画像をロードしてやりたいんですが、できません。
例示コードだと一番最後のCanvasにのみ画像がロードされます。
※ロードされる画像自体は正しいです。
たぶんオブジェクトの指定かイベントの指定&動作タイミングだと思うんですが、なかなかうまく行かず…
ご教示ください。
JavaScript
1function restoreCanvas() { 2 if ($("#HiddenFieldImages").val() !== "") { 3 var imageSource = JSON.parse($("#HiddenFieldImages").val()); 4 for (var canvasId in imageSource) { 5 if (document.getElementById(canvasId) != null) { 6 var img = new Image(); 7 img.src = imageSource[canvasId]; 8 img.onload = function () { 9 var c = $("#" + canvasId).get(0); 10 var ct = c.getContext("2d"); 11 ct.drawImage(img, 0, 0, c.width, c.height); 12 }; 13 } 14 } 15 } 16}
補足
HiddenFieldImages
はinput type="hidden"
な要素です- ここに連想配列で生画像データを格納してあります
Key
がCanvasのID、Value
がBase64生画像データです
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/03 04:47