得知互动
标题:
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/ U
var image = new image();
/ ]5 \$ N* q& R" U3 Y
image.src = eye/item_eye_1.png;
3 Y! f3 l' W ?) g) c" H# u( E! h
image.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, L
function 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' P
var 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 S
var 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* s
for (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' H
if (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$ o
imagedata.data[i + 1] = newgreen;
4 L0 m1 T# p: b0 g, o, K
imagedata.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