###前提・実現したいこと
JavaScriptで、
(1) サーバ上の画像ファイルを読み込み、
(2) DataURLに変換して、
(3) createjs.Bitmapクラスとして操作したい。
###発生している問題・エラーメッセージ
Bitmapオブジェクトに画像の幅と高さが入っている時と入っていない時がある。
###該当のソースコード
JavaScript
1function () { 2 3 var file = "sample.png" 4 var image = new Image(); 5 6 image.onload = function() { 7 // (2) canvas の toDataURL メソッドを使って画像ファイルを DataURL に変換 8 var canvas = document.createElement("canvas"); 9 canvas.width = this.naturalWidth; 10 canvas.height = this.naturalHeight; 11 canvas.getContext('2d').drawImage(this, 0, 0); 12 13 var bitmap = new createjs.Bitmap(canvas.toDataURL('image/png')); 14 15 var w = bitmap.image.naturalWidth; // 値が入っていない事がある 16 var h = bitmap.image.naturalHeight; // 値が入っていない事がある 17 var w2 = bitmap.image.width; // 値が入っていない事がある 18 var h2 = bitmap.image.height; // 値が入っていない事がある 19 }; 20 21 // (1) Image クラスでサーバ上のファイルを読み込む 22 image.src = file; 23}
###試したこと
ネットで類似ケースを検索したところ、preloadjsを使って
事前にファイルをロードしておいた方がいいという意見があったので、
preloadjsのLoadQueueでファイルを読み込むパターンも
試したのですが、やはり時々値が入っていない時があります。
###補足情報(言語/FW/ツール等のバージョンなど)
サーバはFreeBSD 8.4、クライアントはWindows 7 64bit を使っています。
ブラウザはIE 11やChrome 51では起きず、Firefox 47のみで現象を
確認しております。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/09 17:28