を取得すると、、、およびをgetImageData()
含むオブジェクトが作成されます。data
width
height
data
ピクセルデータを含むをループすることができます。それぞれ赤、緑、青、アルファの4つのチャンクで利用できます。
したがって、コードは赤のピクセルを探し(赤のピクセルを作成するものを決定する必要があります)、赤、緑、青をすべてオンに設定します(白に変更するため)。次に、を使用して、を更新されたピクセルデータputImageData()
に置き換えることができます。canvas
// You will need to do this with an image that doesn't violate Same Origin Policy.
var imgSrc = "image.png";
var image = new Image;
image.addEventListener("load", function() {
var canvas = document.getElementsByTagName("canvas")[0];
var ctx = canvas.getContext("2d");
canvas.width = image.width;
canvas.height = image.height;
ctx.drawImage(image, 0, 0);
var imageData = ctx.getImageData(0, 0, image.width, image.height);
var pixels = imageData.data;
var i;
for (i = 0; i < pixels.length; i += 4) {
// Is this pixel *red* ?
if (pixels[i] > 100) {
pixels[i] = 255;
pixels[i + 1] = 255;
pixels[i + 2] = 255;
}
}
ctx.putImageData(pixels);
});
image.src = imgSrc;