ここで見つけることができるエンコードされた base64 img があります。高さと幅を取得するにはどうすればよいですか?
93193 次
4 に答える
173
var i = new Image();
i.onload = function(){
alert( i.width+", "+i.height );
};
i.src = imageData;
于 2013-07-21T18:06:00.693 に答える
20
.naturalWidth
使用し.naturalHeight
て最良の結果が得られたことがわかりました。
const img = new Image();
img.src = 'https://via.placeholder.com/350x150';
img.onload = function() {
const imgWidth = img.naturalWidth;
const imgHeight = img.naturalHeight;
console.log('imgWidth: ', imgWidth);
console.log('imgHeight: ', imgHeight);
};
ドキュメント:
- https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/naturalWidth
- https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/naturalHeight
これは最新のブラウザでのみサポートされています。http://www.jacklmoore.com/notes/naturalwidth-and-naturalheight-in-ie/
于 2014-11-14T16:15:13.513 に答える
2
その画像で非表示を作成し、<img>
jquery .width() および を使用します。身長()
$("body").append("<img id='hiddenImage' src='"+imageData+"' />");
var width = $('#hiddenImage').width();
var height = $('#hiddenImage').height();
$('#hiddenImage').remove();
alert("width:"+width+" height:"+height);
ここでテスト: FIDDLE
画像は最初は非表示で作成されていません。作成されたら、幅と高さを取得してから削除します。これにより、大きな画像の可視性が非常に短くなる可能性があります。この場合、画像を別のコンテナーにラップし、そのコンテナーを画像自体ではなく非表示にする必要があります。
gp. の anser に従って dom に追加されない別のフィドル: HERE
于 2013-07-21T17:26:21.967 に答える