|
Tint red Tint green Tint blue Tint cyan Tint magenta Tint yellow |
function tintimage(img, red, green, blue){
ctx.drawImage(img, 0, 0);
var data = ctx.getImageData(0, 0, canvas.width, canvas.height);
for (var i = 0, length = data.data.length; i < length; i++) {
if((red != 0) && (i % 4 == 0)){
data.data[i] = Math.max(255, data.data[i]) * red;
}
if((green != 0) && (i % 4 == 1)){
data.data[i] = Math.max(255, data.data[i]) * green;
}
if((blue != 0) && (i % 4 == 2)){
data.data[i] = Math.max(255, data.data[i]) * blue;
}
}
ctx.putImageData(data, 0, 0);
}
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var img = new Image;
img.src = 'img.jpg';
img.addEventListener('load', function() {
tintimage(img, 0.7, 0, 0.5);
});
<a href="javascript:tintimage(img, 1, 0, 0)">Tint red</a>
<a href="javascript:tintimage(img, 0, 1, 0)">Tint green</a>
<a href="javascript:tintimage(img, 0, 0, 1)">Tint blue</a>
<a href="javascript:tintimage(img, 0, 1, 1)">Tint cyan</a>
<a href="javascript:tintimage(img, 1, 0, 1)">Tint magenta</a>
<a href="javascript:tintimage(img, 1, 1, 0)">Tint yellow</a>
|
