base64 img encoded
を見つけることができます ここ 。どうすれば高さと幅を取得できますか?
var i = new Image();
i.onload = function(){
alert( i.width+", "+i.height );
};
i.src = imageData;
同期使用の場合は、次のように約束にラップするだけです。
function getImageDimensions(file) {
return new Promise (function (resolved, rejected) {
var i = new Image()
i.onload = function(){
resolved({w: i.width, h: i.height})
};
i.src = file
})
}
次に、awaitを使用して、同期コーディングスタイルでデータを取得できます。
var dimensions = await getImageDimensions(file)
.naturalWidthと.naturalHeightを使用すると、最良の結果が得られることがわかりました。
var img = new Image();
img.onload = function() {
var imgWidth = img.naturalWidth,
imgHeight = img.naturalHeight;
};
これは最新のブラウザでのみサポートされています。 http://www.jacklmoore.com/notes/naturalwidth-and-naturalheight-in-ie/
非表示の<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 [〜#〜]
画像は最初は非表示では作成されません。作成された後、幅と高さを取得して削除します。この場合、大きな画像では非常に短い可視性が発生する可能性があります。この場合、画像を別のコンテナでラップし、そのコンテナを画像自体ではなく非表示にする必要があります。
別のFiddle gpのanserに従ってdomに追加しない: [〜#〜] here [〜#〜]