Przykład
Tworzenie 100 * 100 pikseli imageData obiektu, gdzie każdy piksel jest czerwona, i umieścić go na płótnie:
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);
Spróbuj sam " Wsparcie przeglądarka
Liczby w tabeli określ pierwszą wersję przeglądarki, która w pełni obsługuje metodę.
metoda | |||||
---|---|---|---|---|---|
createImageData() | 4.0 | 9.0 | 3.6 | 4.0 | 10,1 |
Definicja i Wykorzystanie
createImageData() metoda tworzy nowy, pusty imageData obiekt. wartości pikseli nowego obiektu są przezroczyste czarne domyślnie.
Dla każdego piksela w obiekcie imageData istnieją cztery fragmenty informacji, wartości RGBA:
R - czerwony kolor (from 0-255)
G - Zieleń (from 0-255)
B - kolor niebieski (from 0-255)
A - kanał alfa (from 0-255; 0 is transparent and 255 is fully visible)
Tak, przezroczysty czarny wskazuje: (0,0,0,0) .
Informacje o kolorze / alfa jest utrzymywany w matrycy, a ponieważ matryca zawiera 4 części informacji, dla każdego piksela, wielkość tablicowej jest 4 razy większy od obiektu Imagedata: szerokość * wysokość * 4. (Łatwiejszy sposób, aby znaleźć rozmiar tablicy, jest użycie ImageDataObject.data.length)
Macierz zawierającą informację o kolorze / alfa są przechowywane w danych nieruchomego obiektu Imagedata.
Tip: Po manipulowane informacji kolor / alfa w tablicy, można skopiować dane obrazu z powrotem na płótnie z putImageData() metody.
Examples:
Składnia wykonaniem pierwszego piksela w imageData obiekt na czerwono:
imgData=ctx.createImageData(100,100);
imgData.data[0]=255;
imgData.data[1]=0;
imgData.data[2]=0;
imgData.data[3]=255;
Składnia co drugi piksel w obiekcie imageData zieleni:
imgData=ctx.createImageData(100,100);
imgData.data[4]=0;
imgData.data[5]=255;
imgData.data[6]=0;
imgData.data[7]=255;
Składnia JavaScript
Istnieją dwie wersje createImageData() metody:
1. Tworzy nowy obiekt imageData z określonymi wymiarami (w pikselach):
Składnia JavaScript: | var imgData = context . createImageData( width,height ) ; |
---|
2. Tworzy nowy obiekt imageData o tych samych wymiarach jak obiektu określonego przez anotherImageData (this does not copy the image data) :
Składnia JavaScript: | var imgData = context . createImageData( imageData ) ; |
---|
wartości parametrów
Parametr | Opis |
---|---|
width | Szerokość nowego obiektu imageData w pikselach |
height | Wysokość nowego obiektu imageData w pikselach |
imageData | obiekt anotherImageData |
<Płótno Przedmiot