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实现一款模仿iphone样式的注册表单
Mar 20 HTML / CSS
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
Apr 03 HTML / CSS
纯css3制作网站后台管理面板
Dec 30 HTML / CSS
CSS3制作Dropdown下拉菜单的方法
Jul 18 HTML / CSS
详解CSS3中使用gradient实现渐变效果的方法
Aug 18 HTML / CSS
web页面录屏实现
Feb 12 HTML / CSS
html5与css3小应用
Apr 03 HTML / CSS
使用layui实现左侧菜单栏及动态操作tab项的方法
Nov 10 HTML / CSS
css3 filter属性的使用简介
Mar 31 HTML / CSS
元素水平垂直居中的方式
Mar 31 HTML / CSS
使用CSS实现小三角边框原理解析
Nov 07 HTML / CSS
css3新特性的应用示例分析
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
十天学会php之第二天
2006/10/09 PHP
PHP的FTP学习(二)
2006/10/09 PHP
说明的比较细的php 正则学习实例
2008/07/30 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
PHP attributes()函数讲解
2019/02/03 PHP
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
JSONP 跨域共享信息
2012/08/16 Javascript
html向js方法传递参数具体实现
2013/08/08 Javascript
Jquery获取和修改img的src值的方法
2014/02/17 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
vue-cli之router基本使用方法详解
2017/10/17 Javascript
深入理解requireJS-实现一个简单的模块加载器
2018/01/15 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
vue自定义指令实现方法详解
2019/02/11 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
js定义类的方法示例【ES5与ES6】
2019/07/30 Javascript
layer 刷新某个页面的实现方法
2019/09/05 Javascript
js实现旋转的星空效果
2019/11/01 Javascript
微信小程序实现选项卡滑动切换
2020/10/22 Javascript
python列表操作使用示例分享
2014/02/21 Python
Python中用于去除空格的三个函数的使用小结
2015/04/07 Python
Python自动调用IE打开某个网站的方法
2015/06/03 Python
Python模拟用户登录验证
2017/09/11 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
利用setuptools打包python程序的方法步骤
2020/01/18 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
浅谈HTML5新增和废弃的标签
2019/04/28 HTML / CSS
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
飞利浦法国官网:Philips法国
2019/07/10 全球购物
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
《美丽的南沙群岛》教学反思
2014/04/27 职场文书
MySQL 分页查询的优化技巧
2021/05/12 MySQL
SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
2021/06/30 SQL Server
Python基础数据类型tuple元组的概念与用法
2021/08/02 Python
vue实现拖拽交换位置
2022/04/07 Vue.js