HTML canvas createImageData() metode

Definition og brug

createImageData() Metode til at oprette et nyt tomt ImageData-objekt. Standardværdien for pixel i det nye objekt er transparent sort.

For hvert pixel i ImageData-objektet findes der fire aspekter af information, nemlig RGBA-værdier:

  • R - rød (0-255)
  • G - grøn (0-255)
  • B - blå (0-255)
  • A - alpha kanal (0-255; 0 er gennemsigtig, 255 er fuldt synlig)

Derfor betyder transparent black (0,0,0,0).

color/alpha findes som array, og da arrayet indeholder fire informationer for hver pixel, er arrayets størrelse fire gange større end ImageData objektet. (Der er en enklere måde at få arrayets størrelse på, nemlig ved at bruge ImageDataObject.data.length)

En array, der indeholder color/alpha informationer, gemmes i ImageData objektets data egenskaben.

Bemærk:Efter at have håndteret arrayets color/alpha informationer, kan du bruge putImageData() Metoden kopierer billeddataene tilbage til lærredet.

Eksempel:

Denne syntaks ændrer den første pixel til rød i ImageData objektet:

imgData = ctx.createImageData(100, 100);
imgData.data[0] = 255;
imgData.data[1] = 0;
imgData.data[2] = 0;
imgData.data[3] = 255;

Denne syntaks ændrer den anden pixel til rød i ImageData objektet:

imgData = ctx.createImageData(100, 100);
imgData.data[4] = 0;
imgData.data[5] = 255;
imgData.data[6] = 0;
imgData.data[7] = 255;

Eksempel

Opret et 100x100 pixels ImageData objekt, hvor hver pixel er rød, og læg det på lærredet:

Din browser understøtter ikke HTML5 canvas tagget.

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);

Prøv det selv

Syntax

Der er to versioner af createImageData() metoden:

1. Opret et nyt ImageData-objekt med de angivne dimensioner (i pixels):

var imgData=context.createImageData(width,height);

2. Opret et nyt ImageData-objekt med samme dimensioner som det angivne ImageData-objekt (kopiere ikke billeddata):

var imgData=context.createImageData(imageData);

Parameter værdi

Parameter Beskrivelse
width Bredden på ImageData-objektet, målt i pixels.
height Højden på ImageData-objektet, målt i pixels.
imageData En anden ImageData-objekt.

Browser support

Tallene i tabellen angiver den første browserversion, der fuldt ud understøtter denne egenskab.

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
4.0 9.0 3.6 4.0 10.1

Bemærk:Internet Explorer 8 og tidligere versioner understøtter ikke <canvas> elementet.