得知互动

标题: html5 更新图片颜色示例代码 [打印本页]

作者: swmozowtfl    时间: 2015-7-10 22:26
标题: html5 更新图片颜色示例代码
代码如下:
- f" k% L; d4 _6 I/ o0 O- k
<canvas id=c1 width=1220 height = 880 style=background: none repeat scroll 0% 0% transparent; ></canvas> # c- L. a# m( a4 Y5 P
<script> + {! W2 S! _) _1 o" g5 G$ }
var cid = c1;
; ~5 ]$ _1 _  c/ j0 R  o2 h, D/ Uvar image = new image();
/ ]5 \$ N* q& R" U3 Yimage.src = eye/item_eye_1.png;
3 Y! f3 l' W  ?) g) c" H# u( E! himage.onload = function () { * O1 n$ Y3 f6 g4 u' d
recolorimage(cid,image, 0, 0, 0, 255, 0, 0); + A( j6 R' f- q2 h
}
" S6 Q' o+ q* I8 ?9 _& w- B3 h( e, Lfunction recolorimage(c,img, oldred, oldgreen, oldblue, newred, newgreen, newblue) {
; B7 \, d# b3 M0 ?: `' w0 D& `var c = document.getelementbyid(c);
* s' v% b" b' L# ]6 w5 K& @" u2 u' Pvar ctx = c.getcontext(2d); - w* b4 d0 j7 O8 a! w, V8 K
var w = img.width;
8 X4 T9 g) i, h. {8 e# C2 Svar h = img.height; * w$ M4 S4 d6 _0 l) T; V4 B7 {$ z
c.width = w; 5 V' [2 \, u8 b
c.height = h; 4 N& C* h4 Y3 E! J, G
// draw the image on the temporary canvas & G: u0 J+ Y0 J- W, M0 W
ctx.drawimage(img, 0, 0, w, h); 4 F% Z' |) ~) m$ O' ]) u; ?
// pull the entire image into an array of pixel data # W; k8 [$ q) b7 q( I/ K
var imagedata = ctx.getimagedata(0, 0, w, h);
/ w; E5 ^3 ^, K) f, F+ J9 T// examine every pixel, + j& |7 W) F2 e' {6 n
// change any old rgb to the new-rgb
1 V$ C2 k3 r* sfor (var i = 0; i < imagedata.data.length; i += 4) { 4 J' R' F. _0 d5 g
// is this pixel the old rgb?
) n+ H/ k% i3 j6 m( n" n8 o' Hif (imagedata.data == oldred && imagedata.data[i + 1] == oldgreen && imagedata.data[i + 2] == oldblue) {
8 _2 O9 w- H5 ?" t$ _" N; X$ ~// change to your new rgb % G( S7 ^5 d/ \- @& z4 N# \
imagedata.data = newred;
. C0 V+ ^- ?/ P$ H/ E$ oimagedata.data[i + 1] = newgreen;
4 L0 m1 T# p: b0 g, o, Kimagedata.data[i + 2] = newblue;
& ]- z% ~9 @3 X( V0 s- G}
, {- O! M7 D6 [) H} ! z1 {; V' \- B/ z( u
// put the altered data back on the canvas 5 I9 [4 z3 m1 w8 T4 C6 O$ S( D2 n
ctx.putimagedata(imagedata, 0, 0);
# d2 `* i" W, ?( ^" _8 \! E}
5 r. e6 R. s) U8 R  l2 A0 p</script> ( O1 t% w1 }& W; t- d* c

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




欢迎光临 得知互动 (https://bbs.dezhifl.com/) Powered by Discuz! X5.0