Contoh
Buat 100*100 piksel objek imageData mana setiap pixel berwarna merah, dan memasukkannya ke kanvas:
JavaScript:
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var imgData=ctx.createImageData(100,100);
for (var i=0;i<imgData.data.length;i+=4)
{
imgData.data[i+0]=255;
imgData.data[i+1]=0;
imgData.data[i+2]=0;
imgData.data[i+3]=255;
}
ctx.putImageData(imgData,10,10);
Cobalah sendiri " Dukungan Browser
Angka-angka dalam tabel menentukan versi browser pertama yang sepenuhnya mendukung metode ini.
metode | |||||
---|---|---|---|---|---|
createImageData() | iya nih | 9.0 | iya nih | iya nih | iya nih |
Definisi dan Penggunaan
The createImageData() metode menciptakan baru, kosong objek imageData. nilai-nilai pixel objek baru yang transparan hitam secara default.
Untuk setiap pixel dalam suatu objek imageData ada empat potongan informasi, nilai-nilai RGBA:
R - Warna merah (0-255)
G - Warna hijau (0-255)
B - Warna biru (0-255)
A - Saluran alpha (0-255; 0 transparan dan 255 adalah sepenuhnya terlihat)
Jadi, transparan hitam menunjukkan: (0,0,0,0) .
Informasi warna / alpha diadakan di sebuah array, dan karena array berisi 4 buah informasi untuk setiap pixel, ukuran array adalah 4 kali ukuran objek imageData: lebar * tinggi * 4. (Cara yang lebih mudah untuk menemukan ukuran array, adalah dengan menggunakan ImageDataObject.data.length)
Array yang berisi informasi warna / alpha disimpan dalam data properti dari objek imageData.
Tip: Setelah Anda telah memanipulasi informasi warna / alpha dalam array, Anda dapat menyalin data gambar kembali ke kanvas dengan putImageData() metode.
contoh:
Sintaks untuk membuat pixel pertama di imageData objek merah:
imgData=ctx.createImageData(100,100);
imgData.data[0]=255;
imgData.data[1]=0;
imgData.data[2]=0;
imgData.data[3]=255;
Sintaks untuk membuat pixel kedua di green imageData objek:
imgData=ctx.createImageData(100,100);
imgData.data[4]=0;
imgData.data[5]=255;
imgData.data[6]=0;
imgData.data[7]=255;
JavaScript Sintaks
Ada dua versi dari createImageData() metode:
1. Ini menciptakan objek imageData baru dengan dimensi yang ditentukan (dalam piksel):
sintaks JavaScript: | var imgData=context.createImageData(width,height); |
---|
2. Ini menciptakan objek imageData baru dengan dimensi yang sama seperti objek yang ditentukan oleh anotherImageData (ini tidak menyalin data gambar):
JavaScript syntax: | var imgData=context.createImageData(imageData); |
---|
Nilai parameter
Parameter | Deskripsi |
---|---|
width | Lebar objek imageData baru, dalam piksel |
height | Ketinggian objek imageData baru, dalam piksel |
imageData | objek anotherImageData |