html5 更新图片颜色示例代码

王朝学院·作者佚名  2016-08-09
窄屏简体版  字體: 小  |  中  |  大  |  超大  

代码如下:

<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>

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航