JavaScript Muat Gambar adalah pustaka untuk memuat gambar yang disediakan sebagai objek document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }5 atau document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }6 atau melalui document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }7. Ini mengembalikan elemen HTML document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }8 atau document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }9 yang diskalakan, dipotong, atau diputar secara opsional Show
Ini juga menyediakan metode untuk mem-parsing metadata gambar untuk mengekstrak tag IPTC dan Exif serta gambar mini tersemat, untuk menimpa nilai Exif Orientation dan mengembalikan header gambar lengkap setelah mengubah ukuran MempersiapkanInstal melalui NPM npm install blueimp-load-image Ini akan menginstal file JavaScript di dalam document.getElementById('file-input').onchange = function () { loadImage(this.files[0], { maxWidth: 600 }).then(function (data) { document.body.appendChild(data.image) }) }_0 relatif terhadap direktori Anda saat ini, dari mana Anda dapat menyalinnya ke folder yang disediakan oleh server web Anda Selanjutnya, sertakan skrip Gambar Muat JavaScript yang digabungkan dan diperkecil di markup HTML Anda <script src="js/load-image.all.min.js"></script> Atau sebagai alternatif, pilih komponen mana yang ingin Anda sertakan <!-- required for all operations --> <script src="js/load-image.js"></script> <!-- required for scaling, cropping and as dependency for rotation --> <script src="js/load-image-scale.js"></script> <!-- required to parse meta data and to restore the complete image head --> <script src="js/load-image-meta.js"></script> <!-- required to parse meta data from images loaded via URL --> <script src="js/load-image-fetch.js"></script> <!-- required for rotation and cross-browser image orientation --> <script src="js/load-image-orientation.js"></script> <!-- required to parse Exif tags and cross-browser image orientation --> <script src="js/load-image-exif.js"></script> <!-- required to display text mappings for Exif tags --> <script src="js/load-image-exif-map.js"></script> <!-- required to parse IPTC tags --> <script src="js/load-image-iptc.js"></script> <!-- required to display text mappings for IPTC tags --> <script src="js/load-image-iptc-map.js"></script>_ PenggunaanMemuat gambarDalam kode aplikasi Anda, gunakan fungsi document.getElementById('file-input').onchange = function () { loadImage(this.files[0], { maxWidth: 600 }).then(function (data) { document.body.appendChild(data.image) }) }_1 dengan gaya document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) } Atau gunakan API berbasis seperti ini (polyfill untuk browser lama) document.getElementById('file-input').onchange = function () { loadImage(this.files[0], { maxWidth: 600 }).then(function (data) { document.body.appendChild(data.image) }) }_ Dengan async/menunggu (membutuhkan browser modern atau transpiler kode seperti Babel atau TypeScript) document.getElementById('file-input').onchange = async function () { let data = await loadImage(this.files[0], { maxWidth: 600 }) document.body.appendChild(data.image) } Penskalaan gambarDimungkinkan juga untuk menggunakan fungsionalitas penskalaan gambar secara langsung dengan gambar yang sudah ada var scaledImage = loadImage.scale( img, // img or canvas element { maxWidth: 600 } ) PersyaratanPustaka JavaScript Load Image tidak memiliki dependensi, tetapi mendapat manfaat dari dua polyfill berikut
Dukungan perambanBrowser yang mengimplementasikan API berikut mendukung semua opsi
Ini termasuk (tetapi tidak terbatas pada) browser berikut
document.getElementById('file-input').onchange = function () { loadImage(this.files[0], { maxWidth: 600 }).then(function (data) { document.body.appendChild(data.image) }) }6 Internet Explorer sebuah polyfill untuk API berbasis document.getElementById('file-input').onchange = function () { loadImage(this.files[0], { maxWidth: 600 }).then(function (data) { document.body.appendChild(data.image) }) }5 Memuat gambar dari URL dan menerapkan transformasi (penskalaan, pemangkasan, dan rotasi - kecuali document.getElementById('file-input').onchange = function () { loadImage(this.files[0], { maxWidth: 600 }).then(function (data) { document.body.appendChild(data.image) }) }9, yang memerlukan pembacaan meta data) didukung oleh semua browser yang mengimplementasikan antarmuka HTMLCanvasElement Memuat gambar dari URL dan menskalakan ukurannya didukung oleh semua browser yang mengimplementasikan elemen img dan telah berhasil diuji dengan mesin browser setua Internet Explorer 5 (melalui mode emulasi IE11) Fungsi document.getElementById('file-input').onchange = function () { loadImage(this.files[0], { maxWidth: 600 }).then(function (data) { document.body.appendChild(data.image) }) }1 menerapkan opsi menggunakan peningkatan progresif dan kembali ke konfigurasi yang didukung oleh browser, mis. g. jika elemen document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }_9 tidak didukung, elemen document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }8 yang setara dikembalikan APITelepon balikTanda tangan fungsiFungsi document.getElementById('file-input').onchange = function () { loadImage(this.files[0], { maxWidth: 600 }).then(function (data) { document.body.appendChild(data.image) }) }1 menerima objek File atau Blob atau URL gambar sebagai argumen pertama Jika File atau Blob diteruskan sebagai parameter, ia mengembalikan elemen HTML document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }8 jika browser mendukung URL API, alternatifnya objek FileReader jika document.getElementById('file-input').onchange = async function () { let data = await loadImage(this.files[0], { maxWidth: 600 }) document.body.appendChild(data.image) }5 API didukung, atau document.getElementById('file-input').onchange = async function () { let data = await loadImage(this.files[0], { maxWidth: 600 }) document.body.appendChild(data.image) }6 Itu selalu mengembalikan elemen img HTML saat mengirimkan URL gambar var loadingImage = loadImage( 'https://example.org/image.png', function (img) { document.body.appendChild(img) }, { maxWidth: 600 } ) Batalkan pemuatan gambarBeberapa browser (mis. g. Chrome) akan membatalkan proses pemuatan gambar jika properti document.getElementById('file-input').onchange = async function () { let data = await loadImage(this.files[0], { maxWidth: 600 }) document.body.appendChild(data.image) }7 dari elemen document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }8 diubah Untuk menghindari permintaan yang tidak perlu, kami dapat menggunakan URL data gambar GIF transparan berukuran 1x1 piksel sebagai document.getElementById('file-input').onchange = async function () { let data = await loadImage(this.files[0], { maxWidth: 600 }) document.body.appendChild(data.image) }7 target untuk membatalkan unduhan gambar asli Untuk menonaktifkan penanganan panggilan balik, kita juga dapat membatalkan penangan kejadian gambar dan untuk kompatibilitas browser maksimum, batalkan proses pembacaan file jika objek yang dikembalikan adalah instance FileReader var loadingImage = loadImage( 'https://example.org/image.png', function (img) { document.body.appendChild(img) }, { maxWidth: 600 } ) if (loadingImage) { // Unset event handling for the loading image: loadingImage.onload = loadingImage.onerror = null // Cancel image loading process: if (loadingImage.abort) { // FileReader instance, stop the file reading process: loadingImage.abort() } else { // HTMLImageElement element, cancel the original image request by changing // the target source to the data URL of a 1x1 pixel transparent image GIF: loadingImage.src = 'data:image/gif;base64,' + 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' } } Tolong dicatat document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }8 (atau document.getElementById('file-input').onchange = async function () { let data = await loadImage(this.files[0], { maxWidth: 600 }) document.body.appendChild(data.image) }5) untuk memuat gambar hanya dikembalikan saat menggunakan API gaya panggilan balik dan tidak tersedia dengan API berbasis Argumen panggilan balikUntuk API gaya panggilan balik, argumen kedua untuk document.getElementById('file-input').onchange = function () { loadImage(this.files[0], { maxWidth: 600 }).then(function (data) { document.body.appendChild(data.image) }) }1 harus berupa fungsi var scaledImage = loadImage.scale( img, // img or canvas element { maxWidth: 600 } )3, yang dipanggil saat gambar telah dimuat atau terjadi kesalahan saat memuat gambar Fungsi callback melewati dua argumen
loadImage( fileOrBlobOrUrl, function (img, data) { document.body.appendChild(img) console.log('Original image width: ', data.originalWidth) console.log('Original image height: ', data.originalHeight) }, { maxWidth: 600, meta: true } ) Tolong dicatat var scaledImage = loadImage.scale( img, // img or canvas element { maxWidth: 600 } )5, sehingga document.getElementById('file-input').onchange = function () { loadImage(this.files[0], { maxWidth: 600 }).then(function (data) { document.body.appendChild(data.image) }) }4 dapat mendeteksi orientasi gambar otomatis dan menormalkan dimensi Penanganan kesalahanContoh kode yang mengimplementasikan penanganan kesalahan <script src="js/load-image.all.min.js"></script>0 JanjiJika fungsi document.getElementById('file-input').onchange = function () { loadImage(this.files[0], { maxWidth: 600 }).then(function (data) { document.body.appendChild(data.image) }) }_1 dipanggil tanpa fungsi var scaledImage = loadImage.scale( img, // img or canvas element { maxWidth: 600 } )3 sebagai argumen kedua dan Promise API tersedia, ia mengembalikan objek document.getElementById('file-input').onchange = function () { loadImage(this.files[0], { maxWidth: 600 }).then(function (data) { document.body.appendChild(data.image) }) }5 <script src="js/load-image.all.min.js"></script>1 document.getElementById('file-input').onchange = function () { loadImage(this.files[0], { maxWidth: 600 }).then(function (data) { document.body.appendChild(data.image) }) }5 diselesaikan dengan objek dengan properti berikut
Harap baca juga catatan tentang normalisasi dimensi gambar asli di bagian tersebut Jika telah diuraikan, properti tambahan mungkin ada pada objek Jika pemuatan gambar gagal, document.getElementById('file-input').onchange = function () { loadImage(this.files[0], { maxWidth: 600 }).then(function (data) { document.body.appendChild(data.image) }) }_5 ditolak dengan objek Peristiwa bertipe var scaledImage = loadImage.scale( img, // img or canvas element { maxWidth: 600 } )4 PilihanArgumen opsi opsional untuk document.getElementById('file-input').onchange = function () { loadImage(this.files[0], { maxWidth: 600 }).then(function (data) { document.body.appendChild(data.image) }) }_1 memungkinkan untuk mengonfigurasi pemuatan gambar Itu dapat digunakan dengan cara berikut dengan gaya panggilan balik <script src="js/load-image.all.min.js"></script>2 Atau cara berikut dengan API berbasis document.getElementById('file-input').onchange = function () { loadImage(this.files[0], { maxWidth: 600 }).then(function (data) { document.body.appendChild(data.image) }) }5 <script src="js/load-image.all.min.js"></script>3 Semua pengaturan bersifat opsional. Secara default, gambar dikembalikan sebagai elemen HTML document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }8 tanpa batasan ukuran gambar maxWidthMenentukan lebar maksimum elemen document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }_8/ document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }9 tinggi maksimalMenentukan tinggi maksimum elemen document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }8/ document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }9 minLebarMenentukan lebar minimum elemen document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }8/ document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }9 minHeightMenentukan tinggi minimum elemen document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }_8/ document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }9 sourceWidthLebar sub-persegi panjang gambar sumber yang akan digambar ke kanvas tujuan var loadingImage = loadImage( 'https://example.org/image.png', function (img) { document.body.appendChild(img) }, { maxWidth: 600 } ) if (loadingImage) { // Unset event handling for the loading image: loadingImage.onload = loadingImage.onerror = null // Cancel image loading process: if (loadingImage.abort) { // FileReader instance, stop the file reading process: loadingImage.abort() } else { // HTMLImageElement element, cancel the original image request by changing // the target source to the data URL of a 1x1 pixel transparent image GIF: loadingImage.src = 'data:image/gif;base64,' + 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' } }7 sourceHeightKetinggian sub-persegi panjang gambar sumber yang akan digambar ke kanvas tujuan var loadingImage = loadImage( 'https://example.org/image.png', function (img) { document.body.appendChild(img) }, { maxWidth: 600 } ) if (loadingImage) { // Unset event handling for the loading image: loadingImage.onload = loadingImage.onerror = null // Cancel image loading process: if (loadingImage.abort) { // FileReader instance, stop the file reading process: loadingImage.abort() } else { // HTMLImageElement element, cancel the original image request by changing // the target source to the data URL of a 1x1 pixel transparent image GIF: loadingImage.src = 'data:image/gif;base64,' + 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' } }7 atasMargin atas sub-persegi panjang gambar sumber var loadingImage = loadImage( 'https://example.org/image.png', function (img) { document.body.appendChild(img) }, { maxWidth: 600 } ) if (loadingImage) { // Unset event handling for the loading image: loadingImage.onload = loadingImage.onerror = null // Cancel image loading process: if (loadingImage.abort) { // FileReader instance, stop the file reading process: loadingImage.abort() } else { // HTMLImageElement element, cancel the original image request by changing // the target source to the data URL of a 1x1 pixel transparent image GIF: loadingImage.src = 'data:image/gif;base64,' + 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' } }_9 dan membutuhkan var loadingImage = loadImage( 'https://example.org/image.png', function (img) { document.body.appendChild(img) }, { maxWidth: 600 } ) if (loadingImage) { // Unset event handling for the loading image: loadingImage.onload = loadingImage.onerror = null // Cancel image loading process: if (loadingImage.abort) { // FileReader instance, stop the file reading process: loadingImage.abort() } else { // HTMLImageElement element, cancel the original image request by changing // the target source to the data URL of a 1x1 pixel transparent image GIF: loadingImage.src = 'data:image/gif;base64,' + 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' } }7 BaikMargin kanan sub-persegi panjang gambar sumber var loadingImage = loadImage( 'https://example.org/image.png', function (img) { document.body.appendChild(img) }, { maxWidth: 600 } ) if (loadingImage) { // Unset event handling for the loading image: loadingImage.onload = loadingImage.onerror = null // Cancel image loading process: if (loadingImage.abort) { // FileReader instance, stop the file reading process: loadingImage.abort() } else { // HTMLImageElement element, cancel the original image request by changing // the target source to the data URL of a 1x1 pixel transparent image GIF: loadingImage.src = 'data:image/gif;base64,' + 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' } }_9 dan membutuhkan var loadingImage = loadImage( 'https://example.org/image.png', function (img) { document.body.appendChild(img) }, { maxWidth: 600 } ) if (loadingImage) { // Unset event handling for the loading image: loadingImage.onload = loadingImage.onerror = null // Cancel image loading process: if (loadingImage.abort) { // FileReader instance, stop the file reading process: loadingImage.abort() } else { // HTMLImageElement element, cancel the original image request by changing // the target source to the data URL of a 1x1 pixel transparent image GIF: loadingImage.src = 'data:image/gif;base64,' + 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' } }7 bawahMargin bawah sub-persegi panjang gambar sumber var loadingImage = loadImage( 'https://example.org/image.png', function (img) { document.body.appendChild(img) }, { maxWidth: 600 } ) if (loadingImage) { // Unset event handling for the loading image: loadingImage.onload = loadingImage.onerror = null // Cancel image loading process: if (loadingImage.abort) { // FileReader instance, stop the file reading process: loadingImage.abort() } else { // HTMLImageElement element, cancel the original image request by changing // the target source to the data URL of a 1x1 pixel transparent image GIF: loadingImage.src = 'data:image/gif;base64,' + 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' } }_9 dan membutuhkan var loadingImage = loadImage( 'https://example.org/image.png', function (img) { document.body.appendChild(img) }, { maxWidth: 600 } ) if (loadingImage) { // Unset event handling for the loading image: loadingImage.onload = loadingImage.onerror = null // Cancel image loading process: if (loadingImage.abort) { // FileReader instance, stop the file reading process: loadingImage.abort() } else { // HTMLImageElement element, cancel the original image request by changing // the target source to the data URL of a 1x1 pixel transparent image GIF: loadingImage.src = 'data:image/gif;base64,' + 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' } }7 kiriMargin kiri sub-persegi panjang gambar sumber var loadingImage = loadImage( 'https://example.org/image.png', function (img) { document.body.appendChild(img) }, { maxWidth: 600 } ) if (loadingImage) { // Unset event handling for the loading image: loadingImage.onload = loadingImage.onerror = null // Cancel image loading process: if (loadingImage.abort) { // FileReader instance, stop the file reading process: loadingImage.abort() } else { // HTMLImageElement element, cancel the original image request by changing // the target source to the data URL of a 1x1 pixel transparent image GIF: loadingImage.src = 'data:image/gif;base64,' + 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' } }_9 dan membutuhkan var loadingImage = loadImage( 'https://example.org/image.png', function (img) { document.body.appendChild(img) }, { maxWidth: 600 } ) if (loadingImage) { // Unset event handling for the loading image: loadingImage.onload = loadingImage.onerror = null // Cancel image loading process: if (loadingImage.abort) { // FileReader instance, stop the file reading process: loadingImage.abort() } else { // HTMLImageElement element, cancel the original image request by changing // the target source to the data URL of a 1x1 pixel transparent image GIF: loadingImage.src = 'data:image/gif;base64,' + 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' } }7 berisiMenskalakan gambar ke atas/bawah untuk memuatnya dalam dimensi maksimal jika disetel ke loadImage( fileOrBlobOrUrl, function (img, data) { document.body.appendChild(img) console.log('Original image width: ', data.originalWidth) console.log('Original image height: ', data.originalHeight) }, { maxWidth: 600, meta: true } )7 Ini mengemulasi fitur CSS menutupiMenskalakan gambar ke atas/bawah untuk menutupi dimensi maksimal dengan dimensi gambar jika diatur ke loadImage( fileOrBlobOrUrl, function (img, data) { document.body.appendChild(img) console.log('Original image width: ', data.originalWidth) console.log('Original image height: ', data.originalHeight) }, { maxWidth: 600, meta: true } )7 Ini mengemulasi fitur CSS rasio aspekPangkas gambar ke rasio aspek tertentu (mis. g. loadImage( fileOrBlobOrUrl, function (img, data) { document.body.appendChild(img) console.log('Original image width: ', data.originalWidth) console.log('Original image height: ', data.originalHeight) }, { maxWidth: 600, meta: true } )_9) Mengatur <script src="js/load-image.all.min.js"></script>_00 juga mengaktifkan opsi <script src="js/load-image.all.min.js"></script>01 pixelRatioMenentukan rasio piksel kanvas dengan piksel gambar fisik di layar <script src="js/load-image.all.min.js"></script>_02 dan membutuhkan var loadingImage = loadImage( 'https://example.org/image.png', function (img) { document.body.appendChild(img) }, { maxWidth: 600 } ) if (loadingImage) { // Unset event handling for the loading image: loadingImage.onload = loadingImage.onerror = null // Cancel image loading process: if (loadingImage.abort) { // FileReader instance, stop the file reading process: loadingImage.abort() } else { // HTMLImageElement element, cancel the original image request by changing // the target source to the data URL of a 1x1 pixel transparent image GIF: loadingImage.src = 'data:image/gif;base64,' + 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' } }7 Rasio downsamplingMenentukan rasio di mana gambar diturunkan (diperkecil secara bertahap) <script src="js/load-image.all.min.js"></script>04, setiap langkah menskala gambar menjadi setengah ukuran, sebelum mencapai dimensi target Memerlukan var loadingImage = loadImage( 'https://example.org/image.png', function (img) { document.body.appendChild(img) }, { maxWidth: 600 } ) if (loadingImage) { // Unset event handling for the loading image: loadingImage.onload = loadingImage.onerror = null // Cancel image loading process: if (loadingImage.abort) { // FileReader instance, stop the file reading process: loadingImage.abort() } else { // HTMLImageElement element, cancel the original image request by changing // the target source to the data URL of a 1x1 pixel transparent image GIF: loadingImage.src = 'data:image/gif;base64,' + 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' } }_7 imageSmoothingEnabledJika diatur ke document.getElementById('file-input').onchange = async function () { let data = await loadImage(this.files[0], { maxWidth: 600 }) document.body.appendChild(data.image) }_6, nonaktifkan perataan gambar Default ke loadImage( fileOrBlobOrUrl, function (img, data) { document.body.appendChild(img) console.log('Original image width: ', data.originalWidth) console.log('Original image height: ', data.originalHeight) }, { maxWidth: 600, meta: true } )_7 dan membutuhkan var loadingImage = loadImage( 'https://example.org/image.png', function (img) { document.body.appendChild(img) }, { maxWidth: 600 } ) if (loadingImage) { // Unset event handling for the loading image: loadingImage.onload = loadingImage.onerror = null // Cancel image loading process: if (loadingImage.abort) { // FileReader instance, stop the file reading process: loadingImage.abort() } else { // HTMLImageElement element, cancel the original image request by changing // the target source to the data URL of a 1x1 pixel transparent image GIF: loadingImage.src = 'data:image/gif;base64,' + 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' } }7 imageSmoothingQualityMengatur kualitas perataan gambar <script src="js/load-image.all.min.js"></script>09, <script src="js/load-image.all.min.js"></script>10, <script src="js/load-image.all.min.js"></script>11 Default ke <script src="js/load-image.all.min.js"></script>_09 dan membutuhkan var loadingImage = loadImage( 'https://example.org/image.png', function (img) { document.body.appendChild(img) }, { maxWidth: 600 } ) if (loadingImage) { // Unset event handling for the loading image: loadingImage.onload = loadingImage.onerror = null // Cancel image loading process: if (loadingImage.abort) { // FileReader instance, stop the file reading process: loadingImage.abort() } else { // HTMLImageElement element, cancel the original image request by changing // the target source to the data URL of a 1x1 pixel transparent image GIF: loadingImage.src = 'data:image/gif;base64,' + 'R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7' } }7 tanamanMemotong gambar ke batasan <script src="js/load-image.all.min.js"></script>14/ <script src="js/load-image.all.min.js"></script>15 jika disetel ke loadImage( fileOrBlobOrUrl, function (img, data) { document.body.appendChild(img) console.log('Original image width: ', data.originalWidth) console.log('Original image height: ', data.originalHeight) }, { maxWidth: 600, meta: true } )7 Mengaktifkan opsi <script src="js/load-image.all.min.js"></script>_01 juga mengaktifkan opsi document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }9 orientasiUbah kanvas sesuai dengan orientasi Exif yang ditentukan, yang dapat berupa <script src="js/load-image.all.min.js"></script>19 dalam rentang <script src="js/load-image.all.min.js"></script>02 hingga <script src="js/load-image.all.min.js"></script>21 atau nilai boolean loadImage( fileOrBlobOrUrl, function (img, data) { document.body.appendChild(img) console.log('Original image width: ', data.originalWidth) console.log('Original image height: ', data.originalHeight) }, { maxWidth: 600, meta: true } )7 Ketika diatur ke loadImage( fileOrBlobOrUrl, function (img, data) { document.body.appendChild(img) console.log('Original image width: ', data.originalWidth) console.log('Original image height: ', data.originalHeight) }, { maxWidth: 600, meta: true } )_7, itu akan mengatur nilai orientasi berdasarkan data Exif dari gambar, yang akan diuraikan secara otomatis jika ekstensi Exif tersedia Nilai orientasi exif untuk menampilkan huruf F dengan benar <script src="js/load-image.all.min.js"></script>4 Pengaturan <script src="js/load-image.all.min.js"></script>_24 ke loadImage( fileOrBlobOrUrl, function (img, data) { document.body.appendChild(img) console.log('Original image width: ', data.originalWidth) console.log('Original image height: ', data.originalHeight) }, { maxWidth: 600, meta: true } )7 mengaktifkan opsi document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }9 dan <script src="js/load-image.all.min.js"></script>27, kecuali browser mendukung orientasi gambar otomatis (lihat ) Menyetel <script src="js/load-image.all.min.js"></script>_24 ke <script src="js/load-image.all.min.js"></script>02 mengaktifkan opsi document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }9 dan <script src="js/load-image.all.min.js"></script>27 jika browser mendukung orientasi gambar otomatis (untuk mengizinkan penyetelan ulang orientasi) Menyetel <script src="js/load-image.all.min.js"></script>_24 ke bilangan bulat dalam rentang <script src="js/load-image.all.min.js"></script>33 hingga <script src="js/load-image.all.min.js"></script>21 selalu mengaktifkan opsi document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }9 dan juga mengaktifkan opsi <script src="js/load-image.all.min.js"></script>27 jika browser mendukung orientasi gambar otomatis (sekali lagi untuk memungkinkan penyetelan ulang) metaParsing metadata gambar secara otomatis jika disetel ke loadImage( fileOrBlobOrUrl, function (img, data) { document.body.appendChild(img) console.log('Original image width: ', data.originalWidth) console.log('Original image height: ', data.originalHeight) }, { maxWidth: 600, meta: true } )7 Jika metadata telah ditemukan, objek data yang diteruskan sebagai argumen kedua ke fungsi callback memiliki properti tambahan (lihat ) Jika file diberikan sebagai URL dan browser mendukung API pengambilan atau Tipe respons XHR <script src="js/load-image.all.min.js"></script>38, ambil file sebagai document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }6 agar dapat mengurai metadata kanvasMengembalikan gambar sebagai elemen kanvas jika disetel ke loadImage( fileOrBlobOrUrl, function (img, data) { document.body.appendChild(img) console.log('Original image width: ', data.originalWidth) console.log('Original image height: ', data.originalHeight) }, { maxWidth: 600, meta: true } )7 crossOriginMenyetel properti <script src="js/load-image.all.min.js"></script>_41 pada elemen document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }8 untuk memuat gambar yang mendukung CORS noRevokeSecara default, URL objek yang dibuat dicabut setelah gambar dimuat, kecuali jika opsi ini disetel ke loadImage( fileOrBlobOrUrl, function (img, data) { document.body.appendChild(img) console.log('Original image width: ', data.originalWidth) console.log('Original image height: ', data.originalHeight) }, { maxWidth: 600, meta: true } )7 Penguraian metadataJika ekstensi Load Image Meta disertakan, dimungkinkan untuk mengurai data meta gambar secara otomatis dengan opsi <script src="js/load-image.all.min.js"></script>27 <script src="js/load-image.all.min.js"></script>5 Atau sebagai alternatif melalui <script src="js/load-image.all.min.js"></script>45, yang dapat digunakan dengan objek document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }5 atau document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }6 yang tersedia sebagai argumen pertama <script src="js/load-image.all.min.js"></script>6 Atau menggunakan API berbasis Janji <script src="js/load-image.all.min.js"></script>7 Ekstensi Metadata menambahkan opsi tambahan yang digunakan untuk metode <script src="js/load-image.all.min.js"></script>48
Kepala gambarGambar JPEG yang diubah ukurannya dapat digabungkan dengan kepala gambar aslinya melalui <script src="js/load-image.all.min.js"></script>52, yang memerlukan gambar yang diubah ukurannya sebagai objek document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }6 sebagai argumen pertama dan kepala gambar <script src="js/load-image.all.min.js"></script>54 sebagai argumen kedua Dengan gaya panggilan balik, argumen ketiga harus berupa fungsi var scaledImage = loadImage.scale( img, // img or canvas element { maxWidth: 600 } )3, yang disebut dengan objek document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }6 baru <script src="js/load-image.all.min.js"></script>_8 Atau menggunakan API berbasis Janji seperti ini <script src="js/load-image.all.min.js"></script>_9 Tolong dicatat document.getElementById('file-input').onchange = function () { loadImage( this.files[0], function (img) { document.body.appendChild(img) }, { maxWidth: 600 } // Options ) }6 objek gambar yang diubah ukurannya dapat dibuat melalui HTMLCanvasElement. toBlob blueimp-canvas-to-blob menyediakan polyfill untuk browser tanpa dukungan asli <script src="js/load-image.all.min.js"></script>58 pengurai ExifJika Anda menyertakan ekstensi Load Image Exif Parser, argumen yang diteruskan ke panggilan balik untuk <script src="js/load-image.all.min.js"></script>48 akan berisi properti tambahan berikut jika data Exif dapat ditemukan di gambar yang diberikan
Objek <script src="js/load-image.all.min.js"></script>_60 menyimpan tag Exif yang diurai <!-- required for all operations --> <script src="js/load-image.js"></script> <!-- required for scaling, cropping and as dependency for rotation --> <script src="js/load-image-scale.js"></script> <!-- required to parse meta data and to restore the complete image head --> <script src="js/load-image-meta.js"></script> <!-- required to parse meta data from images loaded via URL --> <script src="js/load-image-fetch.js"></script> <!-- required for rotation and cross-browser image orientation --> <script src="js/load-image-orientation.js"></script> <!-- required to parse Exif tags and cross-browser image orientation --> <script src="js/load-image-exif.js"></script> <!-- required to display text mappings for Exif tags --> <script src="js/load-image-exif-map.js"></script> <!-- required to parse IPTC tags --> <script src="js/load-image-iptc.js"></script> <!-- required to display text mappings for IPTC tags --> <script src="js/load-image-iptc-map.js"></script>_0 Objek <script src="js/load-image.all.min.js"></script>_60 dan <script src="js/load-image.all.min.js"></script>61 juga menyediakan metode <script src="js/load-image.all.min.js"></script>67 untuk mengambil nilai tag/offset melalui nama tag yang dipetakan <!-- required for all operations --> <script src="js/load-image.js"></script> <!-- required for scaling, cropping and as dependency for rotation --> <script src="js/load-image-scale.js"></script> <!-- required to parse meta data and to restore the complete image head --> <script src="js/load-image-meta.js"></script> <!-- required to parse meta data from images loaded via URL --> <script src="js/load-image-fetch.js"></script> <!-- required for rotation and cross-browser image orientation --> <script src="js/load-image-orientation.js"></script> <!-- required to parse Exif tags and cross-browser image orientation --> <script src="js/load-image-exif.js"></script> <!-- required to display text mappings for Exif tags --> <script src="js/load-image-exif-map.js"></script> <!-- required to parse IPTC tags --> <script src="js/load-image-iptc.js"></script> <!-- required to display text mappings for IPTC tags --> <script src="js/load-image-iptc-map.js"></script>_1 Secara default, hanya nama berikut yang dipetakan
Jika Anda juga menyertakan pustaka Load Image IPTC Map, pemetaan tag tambahan akan tersedia, serta tiga metode tambahan Bagaimana cara memuat gambar dalam JavaScript?Gambar di halaman web dapat dimuat menggunakan tag . Gambar dimuat menggunakan tag
Bagaimana cara menampilkan gambar dalam JavaScript?Langkah-langkah. . Create element in the HTML code.. Add style to element and set display properties to none.. Buat fungsi "show()" JavaScript yang dapat mengakses gambar dan mengubah properti tampilan untuk diblokir Tambahkan tombol dalam kode HTML yang memanggil fungsi "show()" saat pengguna mengkliknya Bagaimana cara mendapatkan URL gambar dalam JavaScript?getAttribute("src") atau $("img. sesuatu"). attr("src") , yang membaca markup asli, gunakan imageElement. src properti yang akan selalu memberi Anda URL lengkap.
Apa itu gambar () dalam JavaScript?Image() Konstruktor Image() membuat instance HTMLImageElement baru . Ini secara fungsional setara dengan dokumen. buat Elemen('img'). |