пример
Создание 100 * 100 пикселей ImageData объект, где каждый пиксель красного цвета, и поместить его на холст:
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);
Попробуй сам " Поддержка браузеров
Числа в таблице указать первую версию браузера, который полностью поддерживает метод.
метод | |||||
---|---|---|---|---|---|
createImageData() | 4,0 | 9,0 | 3,6 | 4,0 | 10,1 |
Определение и использование
createImageData() метод создает новый пустой объект ImageData. пиксельные значения нового объекта прозрачен черные по умолчанию.
Для каждого пикселя в объекте ImageData есть четыре части информации, значение RGBA:
R - красный цвет (from 0-255)
G - цвет зеленый (from 0-255)
B - цвет синий (from 0-255)
A - альфа - канал (from 0-255; 0 is transparent and 255 is fully visible)
Таким образом, прозрачный черный показывает: (0,0,0,0) .
Информацию о цвете / альфа удерживается в массиве, и так как массив содержит 4 части информации для каждого пикселя, размер массива в 4 раза размер объекта ImageData: ширина * высота * 4. (Простой способ найти размер массива, заключается в использовании ImageDataObject.data.length)
Массив , содержащая информацию о цвет / альфа хранится в данном свойстве объекта ImageData.
Tip: После того, как вы манипулировали информацию цвета / альфа в массиве, вы можете скопировать данные изображения обратно на холст с putImageData() методом.
Examples:
Синтаксис для создания первого пикселя в ImageData объект красный:
imgData=ctx.createImageData(100,100);
imgData.data[0]=255;
imgData.data[1]=0;
imgData.data[2]=0;
imgData.data[3]=255;
Синтаксис для создания второго пикселя в объекте ImageData зеленый:
imgData=ctx.createImageData(100,100);
imgData.data[4]=0;
imgData.data[5]=255;
imgData.data[6]=0;
imgData.data[7]=255;
JavaScript Синтаксис
Есть две версии createImageData() метод:
1. Это создает новый объект ImageData с заданными размерами (в пикселях):
Синтаксис JavaScript: | вар imgData = context . createImageData( width,height ) ; |
---|
2. Это создает новый объект ImageData с теми же размерами , как объект , указанного anotherImageData (this does not copy the image data) :
Синтаксис JavaScript: | вар imgData = context . createImageData( imageData ) ; |
---|
Значения параметров
параметр | Описание |
---|---|
width | Ширина нового объекта ImageData, в пикселях |
height | Высота нового объекта ImageData, в пикселях |
imageData | объект anotherImageData |
<Холст объекта