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的文字阴影—text-shadow的使用方法
Dec 25 HTML / CSS
绝对令人的惊叹的CSS3折叠效果(3D效果)整理
Dec 30 HTML / CSS
css3中transition属性详解
Sep 02 HTML / CSS
使用CSS3制作响应式导航菜单的方法
Jul 12 HTML / CSS
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
Nov 17 HTML / CSS
HTML5地理定位与第三方工具百度地图的应用
Nov 17 HTML / CSS
详解利用canvas实现环形进度条的方法
Jun 12 HTML / CSS
html5实现canvas阴影效果示例
May 07 HTML / CSS
HTML5实现预览本地图片
Feb 17 HTML / CSS
html5 横向滑动导航栏的方法示例
May 08 HTML / CSS
AmazeUI 按钮交互的实现示例
Aug 24 HTML / CSS
css实现左上角飘带效果的完整代码
Mar 18 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
批量修改RAR文件注释的php代码
2010/11/20 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
自适应高度框架 ----属个人收藏内容
2007/01/22 Javascript
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
js控制表单奇偶行样式的简单方法
2013/07/31 Javascript
自己编写的类似JS的trim方法
2013/10/09 Javascript
JS简单的图片放大缩小的两种方法
2013/11/11 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
2014/03/20 Javascript
JQuery动画与特效实例分析
2015/02/02 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
极力推荐10个短小实用的JavaScript代码段
2016/08/03 Javascript
原生js封装的一些jquery方法(详解)
2016/09/20 Javascript
Angular.Js的自动化测试详解
2016/12/09 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
基于vue.js快速搭建图书管理平台
2017/10/29 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
2018/09/04 Javascript
Javascript删除数组里的某个元素
2019/02/28 Javascript
Vue实现导航栏菜单
2020/08/19 Javascript
[46:21]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
2019/01/15 Python
Django通用类视图实现忘记密码重置密码功能示例
2019/12/17 Python
Django中从mysql数据库中获取数据传到echarts方式
2020/04/07 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
基于PyInstaller各参数的含义说明
2021/03/04 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
Farnell德国:电子元器件供应商
2018/07/10 全球购物
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
考试作弊检讨书范文
2015/01/27 职场文书
2015年度保密工作总结
2015/04/24 职场文书
创业计划书介绍
2019/04/24 职场文书
如何书写邀请函?
2019/06/24 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
MySQL 全文检索的使用示例
2021/06/07 MySQL
python非标准时间的转换
2021/07/25 Python
使用 Apache 反向代理的设置技巧
2022/01/18 Servers