Hingga saat ini kami telah membuat bentuk kami sendiri dan menerapkan gaya padanya. Salah satu fitur yang lebih menarik dari 4 adalah kemampuan untuk menggunakan gambar. Ini dapat digunakan untuk melakukan pengomposisian foto dinamis atau sebagai latar belakang grafik, untuk sprite dalam game, dan sebagainya. Gambar eksternal dapat digunakan dalam format apa pun yang didukung oleh browser, seperti PNG, GIF, atau JPEG. Anda bahkan dapat menggunakan gambar yang dihasilkan oleh elemen kanvas lain di halaman yang sama dengan sumbernya Show Mengimpor gambar ke kanvas pada dasarnya adalah proses dua langkah
Mari kita lihat bagaimana melakukan ini API kanvas dapat menggunakan salah satu dari tipe data berikut sebagai sumber gambar 5Ini adalah gambar yang dibuat menggunakan konstruktor _8, serta elemen 9 _0Ini adalah gambar yang disematkan menggunakan elemen _1 _2Menggunakan elemen HTML _3 sebagai sumber gambar Anda mengambil bingkai saat ini dari video dan menggunakannya sebagai gambar _4Anda dapat menggunakan elemen _4 lain sebagai sumber gambar Anda _6Gambar bitmap, akhirnya dipotong. Jenis seperti itu digunakan untuk mengekstraksi bagian dari suatu gambar, sprite, dari gambar yang lebih besar _7Jenis khusus _4 yang tidak ditampilkan dan disiapkan tanpa ditampilkan. Menggunakan sumber gambar seperti itu memungkinkan untuk beralih ke sana tanpa komposisi konten yang dapat dilihat oleh pengguna _9Gambar yang mewakili satu bingkai video Ada beberapa cara untuk mendapatkan gambar untuk digunakan pada kanvas Kita bisa mendapatkan referensi gambar pada halaman yang sama dengan kanvas dengan menggunakan salah satu
Menggunakan atribut elemen 9 (direfleksikan oleh properti 5), Anda dapat meminta izin untuk memuat gambar dari domain lain untuk digunakan dalam panggilan Anda ke 6. Jika domain hosting mengizinkan akses lintas domain ke gambar, gambar tersebut dapat digunakan di kanvas Anda tanpa mencemarinya; Sama seperti gambar normal, kami mengakses elemen kanvas lainnya menggunakan metode 1 atau 2. Pastikan Anda telah menggambar sesuatu ke kanvas sumber sebelum menggunakannya di kanvas target AndaSalah satu penggunaan yang lebih praktis dari ini adalah menggunakan elemen kanvas kedua sebagai tampilan thumbnail dari kanvas lain yang lebih besar Opsi lainnya adalah membuat objek _5 baru di skrip kita. Untuk melakukan ini, Anda dapat menggunakan konstruktor ________0______8 yang nyaman
Saat skrip ini dijalankan, gambar mulai dimuat Jika Anda mencoba menelepon _6 sebelum gambar selesai dimuat, gambar tidak akan melakukan apa pun (atau, di browser lama, bahkan mungkin memunculkan pengecualian). Jadi, Anda harus memastikan untuk menggunakan peristiwa pemuatan sehingga Anda tidak mencoba ini sebelum gambar dimuat
Jika Anda hanya menggunakan satu gambar eksternal, ini bisa menjadi pendekatan yang baik, tetapi setelah Anda perlu melacak lebih dari satu, kami perlu menggunakan sesuatu yang lebih pintar. Ini di luar cakupan tutorial ini untuk melihat taktik pra-pemuatan gambar, tetapi Anda harus mengingatnya Cara lain yang mungkin untuk menyertakan gambar adalah melalui data. URL. URL data memungkinkan Anda untuk sepenuhnya mendefinisikan gambar sebagai string karakter yang disandikan Base64 langsung di kode Anda _Salah satu keuntungan dari URL data adalah bahwa gambar yang dihasilkan segera tersedia tanpa bolak-balik lagi ke server. Keuntungan potensial lainnya adalah memungkinkan untuk mengenkapsulasi semua CSS, JavaScript, HTML, dan gambar Anda dalam satu file, membuatnya lebih portabel ke lokasi lain. Beberapa kelemahan dari metode ini adalah gambar Anda tidak di-cache, dan untuk gambar yang lebih besar, URL yang disandikan bisa menjadi sangat panjang Anda juga dapat menggunakan bingkai dari video yang disajikan oleh elemen 3 (bahkan jika video tidak terlihat). Misalnya, jika Anda memiliki elemen _3 dengan ID "myvideo", Anda dapat melakukannya
Ini mengembalikan objek _2 untuk video, yang, seperti yang dibahas sebelumnya, dapat digunakan sebagai sumber gambar untuk kanvasSetelah kami memiliki referensi ke objek gambar sumber kami, kami dapat menggunakan metode 6 untuk merendernya ke kanvas. Seperti yang akan kita lihat nanti, metode _6 kelebihan beban dan memiliki beberapa varian. Dalam bentuknya yang paling dasar, tampilannya seperti ini 7Menggambar gambar yang ditentukan oleh parameter _8 pada koordinat ( 9, 0)Note: SVG images must specify a width and height in the root Dalam contoh berikut, kita akan menggunakan gambar eksternal sebagai latar untuk grafik garis kecil. Menggunakan latar belakang dapat membuat skrip Anda jauh lebih kecil karena kami dapat menghindari kebutuhan akan kode untuk menghasilkan latar belakang. Dalam contoh ini, kami hanya menggunakan satu gambar, jadi saya menggunakan event handler 1 objek gambar untuk mengeksekusi pernyataan menggambar. Metode 6 menempatkan latar belakang pada koordinat (0, 0), yang merupakan sudut kiri atas kanvas
Grafik yang dihasilkan terlihat seperti ini Tangkapan layarSampel langsungVarian kedua dari metode _6 menambahkan dua parameter baru dan memungkinkan kita menempatkan gambar berskala di kanvas 4Ini menambahkan parameter 5 dan 6, yang menunjukkan ukuran skala gambar saat menggambarnya ke kanvasDalam contoh ini, kami akan menggunakan gambar sebagai wallpaper dan mengulanginya beberapa kali di kanvas. Ini dilakukan dengan mengulang dan menempatkan gambar yang diskalakan pada posisi yang berbeda. Dalam kode di bawah ini, loop _7 pertama berulang di atas baris. Loop _7 kedua berulang di atas kolom. Gambar diskalakan menjadi sepertiga dari ukuran aslinya, yaitu 50x38 pikselCatatan. Gambar dapat menjadi buram saat diperbesar atau berbintik jika diperkecil terlalu banyak. Penskalaan mungkin sebaiknya tidak dilakukan jika Anda memiliki beberapa teks di dalamnya yang harus tetap terbaca
Kanvas yang dihasilkan terlihat seperti ini Tangkapan layarSampel langsungVarian ketiga dan terakhir dari metode _6 memiliki delapan parameter selain sumber gambar. Ini memungkinkan kita memotong bagian dari gambar sumber, lalu menskalakan dan menggambarnya di kanvas kita 0Diberi 8, fungsi ini mengambil luas gambar sumber yang ditentukan oleh persegi panjang yang sudut kiri atas adalah ( 2, 3) dan yang lebar dan tingginya adalah 4 dan 5 dan menariknya ke dalam kanvas, menempatkannya di atas kanvas di Untuk benar-benar memahami apa fungsinya, mungkin membantu untuk melihat gambar ini Empat parameter pertama menentukan lokasi dan ukuran irisan pada gambar sumber. Empat parameter terakhir menentukan persegi panjang untuk menggambar gambar di kanvas tujuan Mengiris bisa menjadi alat yang berguna saat Anda ingin membuat komposisi. Anda dapat memiliki semua elemen dalam satu file gambar dan menggunakan metode ini untuk menggabungkan gambar yang lengkap. Misalnya, jika Anda ingin membuat bagan, Anda dapat memiliki gambar PNG yang berisi semua teks yang diperlukan dalam satu file dan bergantung pada data Anda dapat mengubah skala bagan Anda dengan cukup mudah. Keuntungan lainnya adalah Anda tidak perlu memuat setiap gambar satu per satu, yang dapat meningkatkan kinerja pemuatan Dalam contoh ini, kita akan menggunakan badak yang sama seperti pada contoh sebelumnya, tetapi kita akan mengiris kepalanya dan menyusunnya menjadi bingkai foto. Gambar bingkai foto adalah PNG 24-bit yang mencakup bayangan jatuh. Karena gambar PNG 24-bit menyertakan saluran alfa 8-bit penuh, tidak seperti gambar GIF dan PNG 8-bit, gambar ini dapat ditempatkan di latar belakang apa pun tanpa mengkhawatirkan warna matte
Kami mengambil pendekatan berbeda untuk memuat gambar kali ini. Alih-alih memuatnya dengan membuat objek _5 baru, kami menyertakannya sebagai tag 9 langsung di sumber HTML kami dan mengambil gambar dari itu. Gambar disembunyikan dari keluaran dengan menyetel properti CSS 2 menjadi tidak ada untuk gambar tersebutScreenshotLive sampleSkrip itu sendiri sangat sederhana. Setiap _9 diberi atribut ID, yang membuatnya mudah untuk dipilih menggunakan 2. Kami kemudian menggunakan _6 untuk mengiris badak dari gambar pertama dan menskalakannya ke kanvas, lalu menggambar bingkai di atas menggunakan panggilan 6 kedua. Dalam contoh terakhir bab ini, kita akan membuat sebuah galeri seni kecil. Galeri tersebut terdiri dari sebuah meja yang berisi beberapa gambar. Saat halaman dimuat, elemen _4 disisipkan untuk setiap gambar dan sebuah bingkai digambar di sekelilingnyaDalam hal ini, setiap gambar memiliki lebar dan tinggi tetap, seperti halnya bingkai yang digambar di sekelilingnya. Anda dapat menyempurnakan skrip sehingga menggunakan lebar dan tinggi gambar untuk membuat bingkai pas di sekelilingnya Kode di bawah ini harus cukup jelas. Kami mengulang wadah _0 dan menambahkan elemen kanvas baru yang sesuai. Mungkin satu-satunya hal yang perlu diperhatikan, bagi mereka yang tidak begitu paham dengan DOM, adalah penggunaan metode 9. 0 adalah metode simpul induk (sel tabel) dari elemen (gambar) sebelum kita ingin memasukkan simpul baru kita (elemen kanvas) 0Dan inilah beberapa CSS untuk membuat semuanya terlihat bagus _1Mengikat semuanya adalah JavaScript untuk menggambar gambar berbingkai kami _2Seperti disebutkan sebelumnya, penskalaan gambar dapat menghasilkan artefak kabur atau kotak-kotak karena proses penskalaan. Anda dapat menggunakan properti 1 konteks gambar untuk mengontrol penggunaan algoritme perataan gambar saat menskalakan gambar dalam konteks Anda. Secara default, ini adalah _2, artinya gambar akan diperhalus saat diskalakan. Anda dapat menonaktifkan fitur ini seperti ini
Bagaimana cara mengatur atribut gambar dalam JavaScript?Buat Elemen Gambar di JavaScript
. Kemudian, setel URL gambar ke atribut src-nya. Terakhir, tambahkan elemen gambar ke hierarki DOM dengan menambahkannya ke elemen body. Create an image element using the createElement() method on the document object. Then, set an image URL to its src attribute. Finally, add the image element to the DOM hierarchy by appending it to the body element.
Apa ID gambar dalam JavaScript?HTML memberikan pengenal ke gambar . Pengidentifikasi harus unik di seluruh halaman.
Bagaimana cara menambahkan id dalam JavaScript?Anda dapat menambahkan ID ke Elemen JavaScript baru atau Elemen HTML yang sudah ada sebelumnya. . getElementsByTagName() getElementsByClassName() querySelectorAll() Bagaimana cara menambahkan tag gambar di JavaScript?Diberi elemen HTML dan tugasnya adalah membuat elemen . Buat elemen img kosong menggunakan dokumen. metode createElement() Kemudian atur atributnya seperti (src, height, width, alt, title, dll) Terakhir, masukkan ke dalam dokumen |