HTML canvas createImageData() -menetelmä
Määrittely ja käyttö
createImageData()
Metodi luo uuden tyhjän ImageData-olion. Uuden olion oletus像素arvo on läpinäkyvä musta.
Jokaisella ImageData-olion kuvapikselillä on neljä tietoaspektia, nimittäin RGBA-arvot:
- R - punainen (0-255)
- G - vihreä (0-255)
- B - sininen (0-255)
- A - alpha-kanava (0-255; 0 on läpinäkyvä, 255 on täysin näkyvä)
Näin ollen, läpinäkyvä musta tarkoittaa (0,0,0,0).
color/alpha on taulukkomuodossa, ja koska taulukko sisältää jokaisen pikselin neljä tietoa, taulukon koko on ImageData-objektin neljä kertaa suurempi. (On olemassa yksinkertaisempi tapa saada taulukon koko, käyttämällä ImageDataObject.data.length)
Color/alpha-tietojen sisältävä taulukko tallennetaan ImageData-objektin data ominaisuuksissa.
Vinkki:Kun color/alpha-tiedot ovat käsitelty, voit käyttää putImageData() Metodi kopioi kuvatiedot takaisin taululle.
Esimerkki:
Tämä syntaksi muuttaa ImageData-objektin ensimmäisen pikselin punaiseksi:
imgData = ctx.createImageData(100, 100); imgData.data[0] = 255; imgData.data[1] = 0; imgData.data[2] = 0; imgData.data[3] = 255;
Tämä syntaksi muuttaa ImageData-objektin toisen pikselin punaiseksi:
imgData = ctx.createImageData(100, 100); imgData.data[4] = 0; imgData.data[5] = 255; imgData.data[6] = 0; imgData.data[7] = 255;
Esimerkki
Luo 100*100 pikselin ImageData-objekti, jossa jokainen pikseli on punainen, ja lisää se taululle:
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);
Syntaksi
On olemassa kaksi versiota createImageData() -metodia:
1. Luo uusi ImageData-objekti määritetyn kohteen (kuvapisteinä) perusteella:
var imgData=context.createImageData(width,height);
2. Luo uusi ImageData-objekti, joka on saman kokoinen kuin määritetty toinen ImageData-objekti (ei kopioi kuvadataa):
var imgData=context.createImageData(imageData);
Parametrin arvo
Parametri | Kuvaus |
---|---|
width | ImageData-objektin leveys, kuvapisteinä. |
height | ImageData-objektin korkeus, kuvapisteinä. |
imageData | Toinen ImageData-objekti. |
Selaimen tuki
Taulukossa olevat numerot osoittavat ensimmäisen täysin tukevan selaimen version.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
4.0 | 9.0 | 3.6 | 4.0 | 10.1 |
Huomautus:Internet Explorer 8 ja aikaisemmat versiot eivät tue <canvas>-elementtiä.