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的CSS 多栏(Multi-column)实现瀑布流源码分享
Jun 11 HTML / CSS
详解CSS3中的box-sizing(content-box与border-box)
Apr 19 HTML / CSS
纯CSS3实现鼠标滑过按钮动画第二节
Jul 16 HTML / CSS
HTML5移动端开发遇见的东西
Oct 11 HTML / CSS
Canvas 文本转粒子效果的实现代码
Feb 14 HTML / CSS
html5构建触屏网站之网站尺寸探讨
Jan 07 HTML / CSS
HTML5 预加载让页面得以快速呈现
Aug 13 HTML / CSS
HTML5 UTF-8 中文乱码的解决方法
Nov 18 HTML / CSS
解决HTML5手机端页面缩放的问题
Oct 27 HTML / CSS
使用HTML5 Geolocation实现一个距离追踪器
Apr 09 HTML / CSS
详解CSS不受控制的position fixed
May 25 HTML / CSS
html5调用摄像头实例代码
Jun 28 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
PHP脚本数据库功能详解(中)
2006/10/09 PHP
PHP 日期时间函数的高级应用技巧
2009/10/10 PHP
PHP 伪静态隐藏传递参数名的四种方法
2010/02/22 PHP
一些php技巧与注意事项分析
2011/02/03 PHP
老生常谈PHP中的数据结构:DS扩展
2017/07/17 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
ext for eclipse插件安装方法
2008/04/27 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
js获取一组日期中最近连续的天数
2017/05/25 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
vue做移动端适配最佳解决方案(亲测有效)
2018/09/04 Javascript
windows下create-react-app 升级至3.3.1版本踩坑记
2020/02/17 Javascript
JavaScript 空间坐标的使用
2020/08/19 Javascript
详解Vue 的异常处理机制
2020/11/30 Vue.js
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
跟老齐学Python之集合(set)
2014/09/24 Python
在Python程序中实现分布式进程的教程
2015/04/28 Python
Python 爬虫图片简单实现
2017/06/01 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
python3.6、opencv安装环境搭建过程(图文教程)
2019/11/05 Python
详解Python的爬虫框架 Scrapy
2020/08/03 Python
基于Python正确读取资源文件
2020/09/14 Python
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
Python中pass语句的作用是什么
2016/06/01 面试题
生产管理的三大手法
2013/11/11 职场文书
市场营销专业个人求职信范文
2013/12/14 职场文书
国家励志奖学金获奖感言
2014/01/09 职场文书
搞笑获奖感言
2014/01/30 职场文书
同事吵架检讨书
2014/02/05 职场文书
机房搬迁方案
2014/05/01 职场文书
公司承诺书格式
2014/05/21 职场文书
园林技术专业求职信
2014/07/28 职场文书
2015年青年志愿者工作总结
2015/05/20 职场文书
庆七一主持词
2015/06/29 职场文书
心理健康教育主题班会
2015/08/13 职场文书