HTML-doek createImageData() Metode

❮ HTML-doekverwysing

Voorbeeld

Skep 'n 100*100 piksels ImageData-voorwerp waar elke pixel rooi is, en plaas dit op die doek:

Jou blaaier ondersteun nie die HTML5-skerm nie.

JavaScript:

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var imgData = ctx.createImageData(100, 100);
var i;
for (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);

Blaaierondersteuning

Die nommers in die tabel spesifiseer die eerste blaaierweergawe wat die metode ten volle ondersteun.

Method
createImageData() Yes 9.0 Yes Yes Yes


Definisie en gebruik

Die createImageData() metode skep 'n nuwe, leë ImageData-objek. Die nuwe voorwerp se pixelwaardes is by verstek deursigtige swart.

Vir elke pixel in 'n ImageData-voorwerp is daar vier stukke inligting, die RGBA-waardes:

R - Die kleur rooi (van 0-255)
G - Die kleur groen (van 0-255)
B - Die kleur blou (van 0-255)
A - Die alfakanaal (van 0-255; 0 is deursigtig en 255 is volledig sigbaar)

Dus, deursigtige swart dui aan: (0,0,0,0).

Die kleur/alfa-inligting word in 'n skikking gehou, en aangesien die skikking 4 stukke inligting vir elke pixel bevat, is die skikking se grootte 4 keer die grootte van die ImageData-voorwerp: breedte*hoogte*4. ('n Makliker manier om die grootte van die skikking te vind, is om ImageDataObject.data.length te gebruik)

Die skikking wat die kleur/alfa-inligting bevat, word in die data- eienskap van die ImageData-voorwerp gestoor.

Wenk: Nadat jy die kleur/alfa-inligting in die skikking gemanipuleer het, kan jy die beelddata terugkopieer op die doek met die putImageData() metode.

Voorbeelde:

Die sintaksis om die eerste pixel in die ImageData-voorwerp rooi te maak:

imgData=ctx.createImageData(100,100);

imgData.data[0]=255;
imgData.data[1]=0;
imgData.data[2]=0;
imgData.data[3]=255;

Die sintaksis om die tweede pixel in die ImageData-voorwerp groen te maak:

imgData=ctx.createImageData(100,100);

imgData.data[4]=0;
imgData.data[5]=255;
imgData.data[6]=0;
imgData.data[7]=255;

JavaScript-sintaksis

Daar is twee weergawes van die createImageData() metode:

1. Dit skep 'n nuwe ImageData-objek met die gespesifiseerde afmetings (in pixels):

JavaScript-sintaksis: var imgData= konteks .createImageData( width,height );

2. Dit skep 'n nuwe ImageData-objek met dieselfde afmetings as die voorwerp gespesifiseer deur anotherImageData (dit kopieer nie die beelddata nie):

JavaScript syntax: var imgData=context.createImageData(imageData);

Parameterwaardes

Parameter Description
width The width of the new ImageData object, in pixels
height The height of the new ImageData object, in pixels
imageData anotherImageData object

❮ HTML-doekverwysing