亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

? ?? ??? ?? ???? ?? WeChat ?? ???? ??? Canvas ???? ??? ??? ?? ?? ??? ?????.

WeChat ?? ???? ??? Canvas ???? ??? ??? ?? ?? ??? ?????.

May 22, 2018 am 10:36 AM

? ???? ?? ?? ???? ??? ??? ???? ???? ???, Canvas? ???? ??? ??? ?? ??? ???? ??? ?? ?? ???? ????? ?? ? ????.

? ?? ??? Canvas ?????. ?? ??? ?? ??? ?? ?????:

微信小程序小組件 基于Canvas實現(xiàn)直播點贊氣泡效果

?? ?? ??:

1.JS:

drawImage:function(data){[/align]
????var?that?=?this
????var?p10=?data[0][0];??/*?三階貝塞爾曲線起點坐標值*/
????var?p11=?data[0][1];??/*?三階貝塞爾曲線第一個控制點坐標值*/
????var?p12=?data[0][2];??/*?三階貝塞爾曲線第二個控制點坐標值*/
????var?p13=?data[0][3];??/*?三階貝塞爾曲線終點坐標值*/
????var?p20=?data[1][0];
????var?p21=?data[1][1];
????var?p22=?data[1][2];
????var?p23=?data[1][3];
????var?p30=?data[2][0];
????var?p31=?data[2][1];
????var?p32=?data[2][2];
????var?p33=?data[2][3];
????var?t?=?factor.t;
????/*計算多項式系數(shù)?(下同)*/??
????var?cx1?=?3*(p11.x-p10.x);
????var?bx1?=?3*(p12.x-p11.x)-cx1;
????var?ax1?=?p13.x-p10.x-cx1-bx1;
????var?cy1?=?3*(p11.y-p10.y);
????var?by1?=?3*(p12.y-p11.y)-cy1;
????var?ay1?=?p13.y-p10.y-cy1-by1;
????var?xt1?=?ax1*(t*t*t)+bx1*(t*t)+cx1*t+p10.x;
????var?yt1?=?ay1*(t*t*t)+by1*(t*t)+cy1*t+p10.y;
????var?cx2?=?3*(p21.x-p20.x);
????var?bx2?=?3*(p22.x-p21.x)-cx2;
????var?ax2?=?p23.x-p20.x-cx2-bx2;
????var?cy2?=?3*(p21.y-p20.y);
????var?by2?=?3*(p22.y-p21.y)-cy2;
????var?ay2?=?p23.y-p20.y-cy2-by2;
????var?xt2?=?ax2*(t*t*t)+bx2*(t*t)+cx2*t+p20.x;
????var?yt2?=?ay2*(t*t*t)+by2*(t*t)+cy2*t+p20.y;
????var?cx3?=?3*(p31.x-p30.x);
????var?bx3?=?3*(p32.x-p31.x)-cx3;
????var?ax3?=?p33.x-p30.x-cx3-bx3;
????var?cy3?=?3*(p31.y-p30.y);
????var?by3?=?3*(p32.y-p31.y)-cy3;
????var?ay3?=?p33.y-p30.y-cy3-by3;
????/*計算xt?yt的值?*/
????var?xt3?=?ax3*(t*t*t)+bx3*(t*t)+cx3*t+p30.x;
????var?yt3?=?ay3*(t*t*t)+by3*(t*t)+cy3*t+p30.y;
????factor.t?+=factor.speed;
????ctx.drawImage("../../images/heart1.png",xt1,yt1,30,30);
????ctx.drawImage("../../images/heart2.png",xt2,yt2,30,30);
????ctx.drawImage("../../images/heart3.png",xt3,yt3,30,30);
????ctx.draw();
????if(factor.t>1){
??????factor.t=0;
??????cancelAnimationFrame(timer);
??????that.startTimer();
????}else{
??????timer?=requestAnimationFrame(function(){
????????that.drawImage([[{x:30,y:400},{x:70,y:300},{x:-50,y:150},{x:30,y:0}],[{x:30,y:400},{x:30,y:300},{x:80,y:150},{x:30,y:0}],[{x:30,y:400},{x:0,y:90},{x:80,y:100},{x:30,y:0}]])
?????})
????}}

2.

a. ? ?? ?? 3? ??? ??? ??? ? ?? ??? ???? ??? ??? ??? ?? ????? ???.

微信小程序小組件 基于Canvas實現(xiàn)直播點贊氣泡效果

b. 3? ??? ?? x(t), y(t)? ??? ??? ?????.


3? ??? ??? 4?? ?, 2?? ???, ??? ? ??? ?? ??? ?????.


??? ??? ???? x(t), y(t)? ??? ???? ????.

cx?=?3?*?(?x1?-?x0?)
bx?=?3?*?(?x2?-?x1?)?-?cx
ax?=?x3?-?x0?-?cx?-?bx
cy?=?3?*?(?y1?-?y0?)????
by?=?3?*?(?y2?-?y1?)?-?cy
ay?=?y3?-?y0?-?cy?-?by
x(t)?=?ax?*?t?^?3?+?bx?*?t?^?2?+?cx?*?t?+?x0
y(t)?=?ay?*?t?^?3?+?by?*?t?^?2?+?cy?*?t?+?y0
??? ? ?? ??? ??? ??? ????. ??? ? ? ???? ???. ????? ??? ???? ??? ??? ?? ?? ??? ???? ctx.drawImage? ??? ? ????. ??? Factor.t? 3? ??? ??? ?????? ? ??? [0,1]?? ????? ctx .draw()? ???? ???? ???? ??? ??? ?? ???? ??? ?????.

3.Tip:


??? ???? ???? requestAnimationFrame() ??? ?? ?????. setInterval? ???? ?? ??? ?? ????? ??? ?? ??? ?? ?????. ????? ?????? ??? ????? ????.

Canvas? ???? ??? ??? ?? ?? ??? ???? ? ?? WeChat ??? ??? ??? PHP ??? ?????? ?? ??? ?????!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

??? ????
1597
29
PHP ????
1488
72
NYT ?? ??? ??
130
836
???