HTML canvas createImageData() methode
Definitie en gebruik
createImageData()
Method om een nieuwe lege ImageData-object te maken. De standaard pixelwaarde van het nieuwe object is transparent black.
Voor elk pixel in een ImageData-object bestaan er vier soorten informatie, namelijk de RGBA-waarden:
- R - rood (0-255)
- G - groen (0-255)
- B - blauw (0-255)
- A - alpha kanaal (0-255; 0 is transparant, 255 is volledig zichtbaar)
Daarom betekent transparent black (0,0,0,0).
color/alpha bestaat als array en omdat het array vier stukken informatie per pixel bevat, is de grootte van het array vier keer zo groot als het ImageData object. (Er is een eenvoudiger manier om de arraygrootte te verkrijgen, namelijk met ImageDataObject.data.length)
Het array dat de color/alpha informatie bevat, wordt opgeslagen in de data eigenschappen gebruiken.
Tip:Na het bewerken van de color/alpha informatie in het array, kunt u putImageData() De methode kopieert de afbeeldingsgegevens terug naar het canvas.
Voorbeeld:
Deze syntaxis maakt de eerste pixel van het ImageData object rood:
imgData = ctx.createImageData(100, 100); imgData.data[0] = 255; imgData.data[1] = 0; imgData.data[2] = 0; imgData.data[3] = 255;
Deze syntaxis maakt de tweede pixel van het ImageData object rood:
imgData = ctx.createImageData(100, 100); imgData.data[4] = 0; imgData.data[5] = 255; imgData.data[6] = 0; imgData.data[7] = 255;
Voorbeeld
Maak een ImageData object van 100*100 pixels aan, waarbij elke pixel rood is, en plaats het op het canvas:
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);
Syntaxis
Er zijn twee versies van de createImageData() methode:
1. Create a new ImageData object with the specified size (in pixels):
var imgData=context.createImageData(width,height);
2. Create a new ImageData object with the specified size (in pixels) (without copying image data):
var imgData=context.createImageData(imageData);
Parameter value
Parameter | Description |
---|---|
width | The width of the ImageData object, in pixels. |
height | The height of the ImageData object, in pixels. |
imageData | Another ImageData object. |
Browser support
The numbers in the table indicate the first browser version that fully supports this attribute.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
4.0 | 9.0 | 3.6 | 4.0 | 10.1 |
Note:Internet Explorer 8 and earlier versions do not support the <canvas> element.