Saya memiliki encode base64 img yang dapat Anda temukan di sini . Bagaimana saya bisa mendapatkan tinggi dan lebarnya?
javascript
jquery
image
base64
dimensions
bombastis
sumber
sumber
Untuk penggunaan sinkron, cukup gabungkan menjadi janji seperti ini:
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 }) }
lalu Anda dapat menggunakan await untuk mendapatkan data dalam gaya pengkodean sinkron:
var dimensions = await getImageDimensions(file)
sumber
Saya menemukan bahwa menggunakan
.naturalWidth
dan.naturalHeight
memiliki hasil terbaik.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); };
Dokumen:
Ini hanya didukung di browser modern. http://www.jacklmoore.com/notes/naturalwidth-and-naturalheight-in-ie/
sumber
Buat hidden
<img>
dengan gambar itu lalu gunakan jquery .width () dan. tinggi()$("body").append("<img id='hiddenImage' src='"+imageData+"' />"); var width = $('#hiddenImage').width(); var height = $('#hiddenImage').height(); $('#hiddenImage').remove(); alert("width:"+width+" height:"+height);
Uji di sini: FIDDLE
Gambar awalnya tidak dibuat tersembunyi. itu dibuat, lalu Anda mendapatkan lebar dan tinggi dan kemudian menghapusnya. Hal ini dapat menyebabkan visibilitas yang sangat pendek pada gambar besar, dalam hal ini Anda harus membungkus gambar di penampung lain dan menyembunyikan penampung tersebut, bukan gambar itu sendiri.
Fiddle lain yang tidak menambah dom sesuai anser gp.: DI SINI
sumber