Canvas createImageData() metod
Definition och användning
createImageData()
metoden för att skapa ett nytt tomt ImageData-objekt. Nya objektets standardpixelvärde är transparent svart.
För varje pixel i ImageData-objektet finns det fyra typer av information, dvs RGBA-värden:
- R - rött (0-255)
- G - grönt (0-255)
- B - blått (0-255)
- A - alpha-kanal (0-255; 0 är genomskinlig, 255 är helt synlig)
Därför representerar transparent svart (0,0,0,0).
color/alpha finns som en array och eftersom arrayen innehåller fyra bitar information för varje pixel, är storleken på arrayen fyra gånger större än ImageData-objektet. (Det finns ett enklare sätt att få arrayens storlek, det är att använda ImageDataObject.data.length)
Arrayet som innehåller color/alpha-information lagras i ImageData-objektets data egenskapen.
Tips:Efter att ha bearbetat arrayet med color/alpha-information, kan du använda putImageData() Metoden kopierar bilddata tillbaka till canvasen.
Exempel:
Denna syntax ändrar den första pixeln i ImageData-objektet till röd:
imgData=ctx.createImageData(100,100); imgData.data[0]=255; imgData.data[1]=0; imgData.data[2]=0; imgData.data[3]=255;
Denna syntax ändrar den andra pixeln i ImageData-objektet till röd:
imgData=ctx.createImageData(100,100); imgData.data[4]=0; imgData.data[5]=255; imgData.data[6]=0; imgData.data[7]=255;
Exempel
Skapa ett ImageData-objekt på 100*100 pixlar, där varje pixel är röd, och lägg det på canvasen:
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);
Syntax
Det finns två versioner av createImageData() metoden:
1. Skapa ett nytt ImageData-objekt med den specificerade storleken (i pixlar):
var imgData=context.createImageData(width,height);
2. Skapa ett nytt ImageData-objekt med samma storlek som det angivna ImageData-objektet (kopian av bilddata kommer inte att göras):
var imgData=context.createImageData(imageData);
Parametervärde
Parameter | Beskrivning |
---|---|
width | Breedden på ImageData-objektet, målmått i pixlar. |
height | Höjden på ImageData-objektet, målmått i pixlar. |
imageData | En annan ImageData-objekt. |
Webbläsarstöd
Numrerna i tabellen anger den första webbläsarversionen som helt stöder denna egenskap.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
4.0 | 9.0 | 3.6 | 4.0 | 10.1 |
Kommentar:Internet Explorer 8 och tidigare versioner stöder inte <canvas>-elementet.