html5 更新图片颜色示例代码


Posted in HTML / CSS onJuly 29, 2014

复制代码
代码如下:

<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>
HTML / CSS 相关文章推荐
使用 css3 transform 属性来变换背景图的方法
May 07 HTML / CSS
CSS3动画效果回调处理详解
Dec 10 HTML / CSS
CSS3 text shadow字体阴影效果
Jan 08 HTML / CSS
HTML5探秘:用requestAnimationFrame优化Web动画
Jun 03 HTML / CSS
HTML5 Web Workers之网站也能多线程的实现
Apr 24 HTML / CSS
HTML5计时器小例子
Oct 15 HTML / CSS
使用数据结构给女朋友写个Html5走迷宫游戏
Nov 26 HTML / CSS
HTML5获取当前地理位置并在百度地图上展示的实例
Jul 10 HTML / CSS
浅析HTML5 Landmark
Sep 11 HTML / CSS
CSS 圆形进度栏
Apr 06 HTML / CSS
Html5调用企业微信的实现
Apr 16 HTML / CSS
css布局巧妙技巧之css三角示例的运用
Mar 16 HTML / CSS
Html5 语法与规则简要概述
Jul 29 #HTML / CSS
html5桌面通知(Web Notifications)实例解析
Jul 07 #HTML / CSS
HTML5实现WebSocket协议原理浅析
Jul 07 #HTML / CSS
HTML5新增的表单元素和属性实例解析
Jul 07 #HTML / CSS
HTML5+CSS3实现拖放(Drag and Drop)示例
Jul 07 #HTML / CSS
html5的自定义data-*属性与jquery的data()方法的使用
Jul 02 #HTML / CSS
Html5新特性用canvas标签画多条直线附效果截图
Jun 30 #HTML / CSS
You might like
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
利用div+jquery自定义滚动条样式的2种方法
2013/07/18 Javascript
ie中js创建checkbox默认选中问题探讨
2013/10/21 Javascript
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
jquery 抽奖小程序实现代码
2016/10/12 Javascript
浅谈AngularJs指令之scope属性详解
2016/10/24 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
基于JavaScript实现的顺序查找算法示例
2017/04/14 Javascript
JS原生带小白点轮播图实例讲解
2017/07/22 Javascript
浅谈Angular2 模块懒加载的方法
2017/10/04 Javascript
基于JavaScript实现抽奖系统
2018/01/16 Javascript
Vue2.0结合webuploader实现文件分片上传功能
2018/03/09 Javascript
深入理解Vue router的部分高级用法
2018/08/15 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
IE11下处理Promise及Vue的单项数据流问题
2019/07/24 Javascript
python根据url地址下载小文件的实例
2018/12/18 Python
完美解决ARIMA模型中plot_acf画不出图的问题
2020/06/04 Python
python多线程semaphore实现线程数控制的示例
2020/08/10 Python
解决pip安装的第三方包在PyCharm无法导入的问题
2020/10/15 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
优纳科技软件测试面试题
2012/05/15 面试题
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
挂职思想汇报
2013/12/31 职场文书
校庆活动方案
2014/03/31 职场文书
负责人任命书范本
2014/06/04 职场文书
法语专业求职信
2014/07/20 职场文书
财产分割协议书范本
2014/11/03 职场文书
群众路线剖析材料(四风)
2014/11/05 职场文书
新郎接新娘保证书
2015/05/08 职场文书
zabbix配置nginx监控的实现
2022/05/25 Servers
多线程Spring通过@Scheduled实现定时任务
2022/05/25 Java/Android