Ultimele tutoriale de dezvoltare web
 

HTML canvas createImageData() Method

<Canvas obiect

Exemplu

Crearea unui obiect ImageData 100 * 100 pixeli în cazul în care fiecare pixel este de culoare roșie, și a pus-o pe pânză:

YourbrowserdoesnotsupporttheHTML5canvastag.

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);
Încearcă - l singur »

Suport pentru browser-

Numerele din tabel specifica prima versiune de browser care acceptă pe deplin metoda.

Metodă
createImageData() 4 9 3.6 4 10.1

Definiție și utilizare

createImageData() metoda creează un obiect nou, ImageData gol. Valorile pixelilor Noul obiect sunt transparente negru în mod implicit.

Pentru fiecare pixel într-un obiect ImageData există patru bucăți de informații, valorile RGBA:

R - Culoarea roșie (from 0-255)
G - Culoarea verde (from 0-255) de (from 0-255)
B - Culoarea albastră (from 0-255) de (from 0-255)
A - Canalul alfa (from 0-255; 0 is transparent and 255 is fully visible) de (from 0-255; 0 is transparent and 255 is fully visible)

Deci, transparent negru indică: (0,0,0,0) .

Informația de culoare / alfa are loc într-o matrice, iar din matrice conține 4 bucăți de informații pentru fiecare pixel, dimensiunea matricei este de 4 ori mai mare decât dimensiunea obiectului ImageData: latime * inaltime * 4. (O modalitate mai ușoară de a găsi dimensiunea de matrice, este de a utiliza ImageDataObject.data.length)

Matricea care conține informația de culoare / alfa este stocat în datele proprietatea obiectului ImageData.

Tip: După ce ați manipulat informația de culoare / alfa în matrice, puteți copia datele imaginii înapoi pe panza cu putImageData() metoda.

Examples:

Sintaxa pentru a face primul pixel în ImageData obiecta roșu:

imgData=ctx.createImageData(100,100);

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

Sintaxa pentru a face al doilea pixel în verde obiect ImageData:

imgData=ctx.createImageData(100,100);

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

JavaScript Sintaxa

Există două versiuni ale createImageData() metoda:

1. Acest lucru creează un nou obiect ImageData cu dimensiunile specificate (în pixeli):

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

2. Acest lucru creează un nou obiect ImageData cu aceleași dimensiuni ca și obiectul specificat de anotherImageData (this does not copy the image data) de (this does not copy the image data) :

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

Valorile parametrilor

Parametru Descriere
width Lățimea noului obiect ImageData, în pixeli
height Înălțimea noului obiect ImageData, în pixeli
imageData obiect anotherImageData

<Canvas obiect