返回列表 发新帖

html5 更新图片颜色示例代码

258.5k 9
swmozowtfl 发表于 2015-7-10 22:26:26|湖北 | 查看全部 阅读模式
代码如下:
# \, I; k% _( m, J* i( h
<canvas id=c1 width=1220 height = 880 style=background: none repeat scroll 0% 0% transparent; ></canvas>
$ Y- {! j4 C( f* A5 V( w<script> 9 k3 B2 O& ~9 Y
var cid = c1;
- {& L+ H2 Q0 F) v4 pvar image = new image(); 8 d- v) W8 u& @
image.src = eye/item_eye_1.png; 6 d8 |% R3 n. d# ]/ ]5 f" n  _0 a
image.onload = function () {
; x7 R6 p: M5 K4 I) Y& Arecolorimage(cid,image, 0, 0, 0, 255, 0, 0); % H5 Q6 W' u) v! R$ G  l* [3 b0 l% ]
} * K* a( K  R4 Y! P; X
function recolorimage(c,img, oldred, oldgreen, oldblue, newred, newgreen, newblue) {
3 Q) q7 P7 k- L" u# O( s. Uvar c = document.getelementbyid(c); 2 g' ?; K$ S9 ?
var ctx = c.getcontext(2d);
' Z% a5 S3 R# Z5 nvar w = img.width; * j( D9 c" s+ j4 |
var h = img.height;
2 _) A) n6 Q: Vc.width = w; 0 |# R! X% {4 |' k) g2 u7 e7 ]
c.height = h; ' u! G- q- @7 T) i1 w# W9 V8 h# v. T
// draw the image on the temporary canvas
" n0 @1 F5 H. |8 |( ictx.drawimage(img, 0, 0, w, h); + [& d. n9 ]- e3 y- g. D
// pull the entire image into an array of pixel data
3 `) [2 h" a/ a, f/ N; M8 Cvar imagedata = ctx.getimagedata(0, 0, w, h); 8 w1 g: G" |. Z. P
// examine every pixel,
* c* X" k9 \* R6 f' W$ f! L. S// change any old rgb to the new-rgb
0 f; Q3 b* I% r5 ufor (var i = 0; i < imagedata.data.length; i += 4) {
, u% y) N+ ?3 `// is this pixel the old rgb? 4 @" w! }5 |. t. U! A& d- @
if (imagedata.data == oldred && imagedata.data[i + 1] == oldgreen && imagedata.data[i + 2] == oldblue) {
, x5 F# @  q9 C// change to your new rgb
0 m/ I' m* v8 Y: t0 y. P7 `imagedata.data = newred; 5 d6 w# s+ g$ J% J! L% F& z3 k, n
imagedata.data[i + 1] = newgreen; ; O, B: S8 v  {2 @" }/ y
imagedata.data[i + 2] = newblue;
. E. t6 E0 v* V+ S1 n}
1 T- c0 T7 p+ |5 Q( X4 o3 [- T- Y}
; ]6 u; g7 y: g  m, @- k4 I// put the altered data back on the canvas
" v* g& p, {8 v: K8 _- a* x( Qctx.putimagedata(imagedata, 0, 0);
6 ~7 C) R* F4 Q* x9 \3 |* O% _' F}
/ S% e& D' |( c; [</script> & Z8 Y0 c+ w& [/ Q" y0 D
% o8 M5 G; R( K
更多网页制作信息请查看: 网页制作

回复|共 9 个

effoggikeftor 发表于 2015-12-16 09:58:55|美国 | 查看全部
看起来好~~像啊~~~~~
gevaemaidovef 发表于 2015-12-16 09:59:15|印度 | 查看全部
你这样的表现,就只配这几个字:窝囊废
tohme 发表于 2015-12-16 09:59:31|澳大利亚 | 查看全部
呵呵 放心 如我算错 你以后来砸我的帖子 呵呵
tohme 发表于 2015-12-16 09:59:55|乌克兰 | 查看全部
现在做什么网站好?
seazvyt 发表于 2016-2-12 15:42:10|美国 | 查看全部
现在做什么网站好?
GoodyFouppy 发表于 2016-2-12 15:42:26|美国 | 查看全部
您知道这个论坛的站长是谁吗?偷偷的告诉你他叫叶学得  好厉害的样子
GoodyFouppy 发表于 2016-2-12 15:42:38|英国 | 查看全部
哈哈~` 好久没有笑喽~
Acropozelan 发表于 2016-2-12 15:42:58|Reserved | 查看全部
因删贴不及时所产生的任何法律(书法,基本法,劳动法,婚姻法,输入法,国际法,今日说法,与台湾关系法及文中涉及或可能涉及以及未及之法,各地治安管理条例)纠纷或责任本人概不负责。
tohme 发表于 2016-2-12 15:43:00|卢森堡 | 查看全部
本人在此留言均为网络上复制,用于检验本人电脑键盘录入、屏幕显示的机械、光电性能。并不代表本人局部或全部同意、支持或者反对楼主观点。

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

得知互动是一个融创意、设计、开发、营销、生活、互联网于一体的专业交流分享平台。
Copyright © 2026 得知互动-专注Ai与站长技术交流社区-Ai交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表