HTML canvas createImageData()Método
Ejemplo
Crea un objeto ImageData de 100*100 píxeles, donde cada píxel es rojo, y luego colócalo en el lienzo:
JavaScript:
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);
Pruébalo »
Compatibilidad del navegador
![]()
![]()
![]()
![]()
![]()
Internet Explorer 9, Firefox, Opera, Chrome y Safari son compatibles con el método createImageData().
Nota:Internet Explorer 8 y versiones anteriores no son compatibles con el elemento <canvas>.
Definición y uso
El método createImageData() crea un nuevo objeto ImageData en blanco. El valor de píxel predeterminado del nuevo objeto es transparent black.
Para cada píxel del objeto ImageData, existe información en cuatro aspectos, es decir, los valores RGBA:
R - Rojo (0-255)
G - Verde (0-255)
B - Azul (0-255)
A - Canal alfa (0-255; 0 es transparente, 255 es completamente visible)
Por lo tanto, transparent black representa (0,0,0,0).
La información de color/alpha existe en forma de matriz, y como la matriz contiene cuatro datos por cada píxel, el tamaño de la matriz es cuatro veces el del objeto ImageData: width*height*4. (Hay una forma más sencilla de obtener el tamaño de la matriz: usar ImageDataObject.data.length)
La matriz que contiene la información de color/alpha se almacena en la propiedaddatadel objeto ImageData.
Consejo:Después de manipular la información de color/alpha en la matriz, puede usar el métodoputImageData()para copiar los datos de imagen de vuelta al lienzo.
Ejemplo:
Sintaxis para cambiar el primer píxel del objeto ImageData a rojo:
imgData.data[0]=255;
imgData.data[1]=0;
imgData.data[2]=0;
imgData.data[3]=255;
Sintaxis para cambiar el segundo píxel del objeto ImageData a verde:
imgData.data[4]=0;
imgData.data[5]=255;
imgData.data[6]=0;
imgData.data[7]=255;
Sintaxis de JavaScript
Hay dos versiones del método createImageData():
1. Crear un nuevo objeto ImageData con las dimensiones especificadas (en píxeles):
| Sintaxis de JavaScript: | var imgData=context.createImageData(width,height); |
|---|
2. Crear un nuevo objeto ImageData con las mismas dimensiones que otro objeto ImageData especificado (no copia los datos de imagen):
| Sintaxis de JavaScript: | var imgData=context.createImageData(imageData); |
|---|
Valores de parámetros
| Parámetro | Descripción |
|---|---|
| width | El ancho del objeto ImageData, en píxeles. |
| height | La altura del objeto ImageData, en píxeles. |
| imageData | Otro objeto ImageData. |
Otras extensiones
Objeto Canvas