2011-09-16 18 views
6

JavaScriptを使用してファイルシステム内の画像の高さと幅を取得することはできますか(つまり、DOMの一部ではない画像)?または、JavaScriptを使用して画像をDOMに挿入し、そのように寸法を取得する必要がありますか?DOMにない画像の高さ/幅を取得できますか?

メソッドパラメータの3つのイメージパスを取るRaphaëlによって生成されたオンザフライでUIコンポーネントをレンダリングするJavaScriptメソッドを記述しているので、私は質問します。これらは、前述のUIコンポーネントをレンダリングするために使用され、位置決めのために画像の寸法が必要です。

ありがとうございます。

答えて

9

私がいる限り、画像を使用して、幅と高さをつかむことができますロードしているようだと思う - あなたはしかしDOMに注入する必要はありません。たとえば:

var tmp = new Image(); 
tmp.onload = function() { 
    console.log(tmp.width + ' x ' + tmp.height); 
} 
tmp.src = 'http://cdn.sstatic.net/stackoverflow/img/sprites.png?v=4'; 
+0

console.logで幅と高さを取得しますが、JSON.stringify()にしようとすると印刷されません。オブジェクトはコンソールで完璧に見えますが、取得できません – user2734550

-5

ファイルシステム内の画像の高さと幅をJavaScript(DOMの一部ではない画像)を使って取得することはできますか?

または私はDOMに画像を挿入し、そのような寸法をつかむためにJavaScriptを使用しなければならないでしょうか?

  • はい
+2

Yikes、それはちょうど真実ではありません。詳細については、他のすべての回答を参照してください。 – Malvolio

+0

私は具体的に(ファイルシステムにアクセスする)ことはできませんが、私はURLを述べておくべきだと思います。 –

1

あなたはコードで画像をダウンロードすることができます。

var img=new Image(),imgWidth,imgHeight; 
img.onerror=img.onload=function(ev) { 
    ev=ev||event; 
    if(ev.type==="error") { 
    imgWidth=imgHeight=-1; // error loading image resourse 
    } 
    else { 
    imgWidth=this.width; // orimgWidth=img.width 
    imgHeight=this.height; // imgHeight=img.height 
    } 
} 
img.src="url_to_image_file"; 
4

あなたは、必ずしも "ファイルシステム" を取得することはできませんが、あなたはこれを行うことができます:

v = new Image(); 
v.onload = function() { 
    alert("size: " + String(v.width) + 'x' + String(v.height)); 
}; 
v.src = "http://www.gravatar.com/avatar/96269f5a69115aa0e461b6334292d651?s=32&d=identicon&r=PG"; 

はあなたでしょうそれを "DOMに追加する"と数えますか?

関連する問題