您的位置:首页 > Web前端 > HTML5

html5 更新图片颜色示例代码

2014-07-29 11:01 781 查看
<canvas id="c1" width="1220" height = "880" style="background: none repeat scroll 0% 0% transparent; "></canvas> 
<script> 
var cID = "c1"; 
var image = new Image(); 
image.src = "Eye/item_eye_1.png"; 
image.onload = function () { 
recolorImage(cID,image, 0, 0, 0, 255, 0, 0); 
} 
function recolorImage(c,img, oldRed, oldGreen, oldBlue, newRed, newGreen, newBlue) { 
var c = document.getElementById(c); 
var ctx = c.getContext("2d"); 
var w = img.width; 
var h = img.height; 
c.width = w; 
c.height = h; 
// draw the image on the temporary canvas 
ctx.drawImage(img, 0, 0, w, h); 
// pull the entire image into an array of pixel data 
var imageData = ctx.getImageData(0, 0, w, h); 
// examine every pixel, 
// change any old rgb to the new-rgb 
for (var i = 0; i < imageData.data.length; i += 4) { 
// is this pixel the old rgb? 
if (imageData.data[i] == oldRed && imageData.data[i + 1] == oldGreen && imageData.data[i + 2] == oldBlue) { 
// change to your new rgb 
imageData.data[i] = newRed; 
imageData.data[i + 1] = newGreen; 
imageData.data[i + 2] = newBlue; 
} 
} 
// put the altered data back on the canvas 
ctx.putImageData(imageData, 0, 0); 
} 
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐