Tela HTML método createImageData()

❮ Referência de tela HTML

Exemplo

Crie um objeto ImageData de 100*100 pixels em que cada pixel seja vermelho e coloque-o na tela:

Seu navegador não suporta a tag HTML5canvastag.

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

Suporte ao navegador

Os números na tabela especificam a primeira versão do navegador que oferece suporte total ao método.

Method
createImageData() Yes 9.0 Yes Yes Yes


Definição e uso

O método createImageData() cria um novo objeto ImageData em branco. Os valores de pixel do novo objeto são pretos transparentes por padrão.

Para cada pixel em um objeto ImageData existem quatro informações, os valores RGBA:

R - A cor vermelha (de 0-255)
G - A cor verde (de 0-255)
B - A cor azul (de 0-255)
A - O canal alfa (de 0-255; 0 é transparente e 255 é totalmente visível)

Assim, o preto transparente indica: (0,0,0,0).

As informações de cor/alfa são mantidas em uma matriz e, como a matriz contém 4 informações para cada pixel, o tamanho da matriz é 4 vezes o tamanho do objeto ImageData: largura*altura*4. (Uma maneira mais fácil de encontrar o tamanho da matriz é usar ImageDataObject.data.length)

A matriz que contém as informações de cor/alfa é armazenada na propriedade data do objeto ImageData.

Dica: Depois de manipular as informações de cor/alfa no array, você pode copiar os dados da imagem de volta para a tela com o método putImageData() .

Exemplos:

A sintaxe para tornar o primeiro pixel no objeto ImageData vermelho:

imgData=ctx.createImageData(100,100);

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

A sintaxe para tornar o segundo pixel no objeto ImageData verde:

imgData=ctx.createImageData(100,100);

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

Sintaxe JavaScript

Existem duas versões do método createImageData():

1. Isso cria um novo objeto ImageData com as dimensões especificadas (em pixels):

Sintaxe JavaScript: var imgData= context .createImageData( largura, altura );

2. Isso cria um novo objeto ImageData com as mesmas dimensões do objeto especificado por anotherImageData (isso não copia os dados da imagem):

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

Valores de parâmetro

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

❮ Referência de tela HTML