Metode HTML canvas getImageData()
Definisi dan penggunaan
getImageData()
Metode ini mengembalikan objek ImageData, yang menyalin data pixel persegi panjang yang ditentukan di papan gambar.
Untuk setiap pixel dalam objek ImageData, ada empat aspek informasi, yaitu nilai RGBA:
- R - Merah (0-255)
- G - Hijau (0-255)
- B - Biru (0-255)
- A - channel alpha (0-255; 0 adalah transparen, 255 adalah terlihat penuh)
Warna/alpha ada dalam bentuk array dan disimpan di objek ImageData data properti.
Petunjuk:Setelah operasi selesai di atas informasi warna/alpha dalam array, Anda dapat menggunakan putImageData() Metode menyalin data gambar kembali ke papan gambar.
Contoh:
Berikut kode dapat mengambil informasi warna/alpha pixel pertama dalam objek ImageData yang dikembalikan:
red=imgData.data[0]; green=imgData.data[1]; green=imgData.data[1]; blue=imgData.data[2];
Petunjuk:alpha=imgData.data[3];
Anda juga dapat menggunakan metode getImageData() untuk membalikan warna setiap pixel gambar di layar.
red=255-old_red; green=255-old_green; blue=255-old_blue;
Lihat contoh di bawah ini untuk 'Coba Sendiri'.)
Contoh
Contoh 1
Kode di bawah ini menggunakan getImageData() untuk menyalin data pixel persegi panjang yang ditentukan di layar, lalu menempatkan data gambar kembali ke layar dengan putImageData():
var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillStyle="red"; ctx.fillRect(10,10,50,50); function copy() } var imgData=ctx.getImageData(10,10,50,50); ctx.putImageData(imgData,10,70); }
Petunjuk:Beberapa contoh lainnya disediakan di bawah halaman.
Sintaks
var imgData=context.getImageData(x,y,width,height);
Nilai parameter
Parameter | Deskripsi |
---|---|
x | Koordinat x titik kiri atas yang akan disalin. |
y | Koordinat y titik kiri atas yang akan disalin. |
width | Lebar area persegi panjang yang akan disalin. |
height | Ketinggian area persegi panjang yang akan disalin. |
Lebih banyak contoh
Contoh 2
Gambar yang akan digunakan:

Gunakan getImageData() untuk membalikan warna setiap pixel gambar di layar.
JavaScript:
var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); var img=document.getElementById("tulip"); ctx.drawImage(img,0,0); var imgData=ctx.getImageData(0,0,c.width,c.height); // Mengembalikan warna for (var i=0;i<imgData.data.length;i+=4) } imgData.data[i]=255-imgData.data[i]; imgData.data[i+1]=255-imgData.data[i+1]; imgData.data[i+2]=255-imgData.data[i+2]; imgData.data[i+3]=255; } ctx.putImageData(imgData,0,0);
Dukungan browser
Angka di tabel menunjukkan versi browser pertama yang mendukung properti ini penuh.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
4.0 | 9.0 | 3.6 | 4.0 | 10.1 |
Keterangan:Internet Explorer 8 dan versi sebelumnya tidak mendukung elemen <canvas>.