Метод Canvas createImageData()
Определение и использование
createImageData()
Метод создания нового пустого объекта ImageData. По умолчанию у нового объекта прозрачный черный цвет.
Для каждого пикселя объекта ImageData существует информация о的四方面, то есть значения RGBA:
- R - красный (0-255)
- G - зеленый (0-255)
- B - синий (0-255)
- A - канал альфа (0-255; 0 - прозрачный, 255 - полностью видимый)
Таким образом, полностью прозрачный черный цвет представлен как (0,0,0,0).
Информация о цвете/алфавите существует в виде массива, и поскольку массив содержит информацию о четырех каналах каждого пикселя, его размер вчетверо больше, чем размер объекта ImageData (для получения размера массива есть более простой способ - использовать ImageDataObject.data.length).
Массив информации о цвете/алфавите хранится в объекте ImageData по адресу data свойства.
Совет:После завершения работы с массивом информации о цвете/алфавите, вы можете использовать putImageData() Метод копирует данные изображения обратно на холст.
Пример:
Этот синтаксис изменяет первый пиксель объекта 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;
Пример
Создайте объект ImageData размером 100*100 пикселей, где каждый пиксель красного цвета, и поместите его на холст:
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():
1. Создайте новый объект ImageData с указанными размерами (в пиках):
var imgData=context.createImageData(width,height);
2. Создайте новый объект ImageData с размерами, соответствующими указанному другому объекту ImageData (не будет копироваться изображение):
var imgData=context.createImageData(imageData);
Значение параметра
Параметр | Описание |
---|---|
width | Ширина объекта ImageData, измеренная в пиках. |
height | Высота объекта ImageData, измеренная в пиках. |
imageData | Другой объект ImageData. |
Поддержка браузерами
Числа в таблице указывают на первую версию браузера, которая полностью поддерживает этот атрибут.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
4.0 | 9.0 | 3.6 | 4.0 | 10.1 |
Комментарий:Интернет-Explorer 8 и более ранние версии не поддерживают элемент <canvas>.