Latest web development tutorials
×

JavaScript & HTML DOM справочное руководство

обзор

JavaScript объекты

JavaScript Array объекты JavaScript Boolean объекты JavaScript Date объекты JavaScript Math объекты JavaScript Number объекты JavaScript String объекты JavaScript RegExp объекты JavaScript Глобальные свойства / функции JavaScript операторы

Browser объекты

Window объекты Navigator объекты Screen объекты History объекты Location объекты

DOM объекты

HTML DOM Document объекты HTML DOM объект Element HTML DOM Атрибут объекта HTML DOM объекты событий

HTML объекты

<a> <area> <audio> <base> <blockquote> <body> <button> <canvas> <col> <colgroup> <datalist> <del> <details> <dialog> <embed> <fieldset> <form> <iframe> <frameset > <img> <ins> <input> - button <input> - checkbox <input> - color <input> - date <input> - datetime <input> - datetime-local <input> - email <input> - file <input> - hidden <input> - image <input> - month <input> - number <input> - range <input> - password <input> - radio <input> - reset <input> - search <input> - submit <input> - text <input> - time <input> - url <input> - week <keygen> <link> <label> <legend> <li> <map> <menu> <menuItem> <meta> <meter> <object> <ol> <optgroup> <option> <param> <progress> <q> <script> <select> <source> <style> <table> <td> <th> <tr> <textarea> <title> <time> <track> <video>

HTML-холст getImageData метод ()

Холст Ссылка на объект объект Canvas

примеров

Следующие getImageData код () Скопировать на холсте, бумаге прямоугольник обозначается пиксельных данных, и () данные изображения обратно в полотно putImageData:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="red";
ctx.fillRect(10,10,50,50);

function copy()
{
var imgData=ctx.getImageData(10,10,50,50);
ctx.putImageData(imgData,10,70);
}

Попробуйте »

Поддержка браузеров

Internet ExplorerFirefoxOperaGoogle ChromeSafari

Internet Explorer 9, Firefox, Opera, Chrome и Safari поддержка getImageData () метод.

Примечание: 8 и более ранние версии Explorer , это интернет не поддерживает элемент <Canvas>.


Определение и использование

Метод getImageData () возвращает объект ImageData, который является копией указанных данных пикселя прямоугольный холст.

Примечание: объект ImageDataне изображение, которое обеспечивает часть холста (прямоугольника), и сохраняется в пределах прямоугольника информации каждого пикселя.

ImageData объект для каждого пикселя, есть четыре области информации, а именно значения RGBA:

R - красный (0-255)
G - зеленый (0-255)
B - синий (0-255)
А - альфа-канал (0-255; 0 является прозрачным, 255 полностью виден)

цвет / альфа информацию в виде массива и сохранения в объекте ImageData данных свойств.

Совет: Полный массив цвет / альфа - информации в операции, вы можете использовать putImageData () метод данных изображения копируется обратно на холст.

Пример:

Следующий код может быть получен объект ImageData возвращается в цвет / альфа информацию первого пиксела:

red=imgData.data[0];
green=imgData.data[1];
blue=imgData.data[2];
alpha=imgData.data[3];

пробовать

Совет: Вы можете также использовать метод getImageData () , чтобы изменить цвет каждого пикселя изображения на холсте.

Используйте эту формулу через все пиксели, и изменить его цветовые значения:

red=255-old_red;
green=255-old_green;
blue=255-old_blue;

Посмотрите на следующий экземпляр "попробовать"!


синтаксис JavaScript

Синтаксис JavaScript: Контекст .getImageData (х, у, ширина, высота);

Параметр Значение

参数 描述
x 开始复制的左上角位置的 x 坐标(以像素计)。
y 开始复制的左上角位置的 y 坐标(以像素计)。
width 要复制的矩形区域的宽度。
height 要复制的矩形区域的高度。


примеров

Другие примеры

Изображение, которое вы хотите использовать:

Крик

примеров

Используйте getImageData (), чтобы изменить цвет каждого пикселя изображения на холсте:

YourbrowserdoesnotsupporttheHTML5canvastag.

JavaScript:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("scream");
ctx.drawImage(img,0,0);
var imgData=ctx.getImageData(0,0,c.width,c.height);
// invert colors
for (var i=0;i<imgData.data.length;i+=4)
{
imgData.data[i]=255-imgData.data[i];
imgData.data[i+1]=255-imgData.data[i+1];
imgData.data[i+2]=255-imgData.data[i+2];
imgData.data[i+3]=255;
}
ctx.putImageData(imgData,0,0);

Попробуйте »


Холст Ссылка на объект объект Canvas