|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
就在新标准备受瞩目之际,两大网络监督机构却起冲突。破洛洛文章简介:HTML5逐日一练之Canvas标签的使用-坐标变更与路径分离利用.
到今朝为止,我们已学会了良多Canvas的绘制办法,假如我们要绘制图形怎样办呢?
我们必要对矩形变形,利用坐标变更就充足了。可是对利用路径绘制出来的图形举行幻化的时分,那末要思索的事变就多了。由于利用坐标变更以后,已创立好的路径就不成用了。必需要从头创立路径,从头创立路径后,坐标变更办法又生效了。
办理思绪
1、必需先别的绘制一个创立路径的函数。
2、在座标幻化的同时挪用该函数。
代码案例
- <!DOCTYPEHTML>
- <html>
- <head>
- <metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
- <title>HTML5逐日一练之Canvas标签的使用-坐标变更与路径分离利用</title>
- <scripttype="text/javascript">
- window.onload=function()
- {
- createPic();
- }
- //创立图形
- functioncreatePic()
- {
- varcanvas=document.getElementById("W3Cfuns_canvas");
- varcontext=canvas.getContext("2d");
- context.fillStyle="#d4d4d4";
- context.fillRect(0,0,400,300);
- //绘制图形
- context.translate(200,50);
- for(vari=0;i<50;i++)
- {
- context.translate(25,25);
- context.scale(0.95,0.95);
- context.rotate(Math.PI/8);
- createStar(context);//此办法专门绘制五角星
- context.fill();
- }
- }
- //创立五角星的办法
- functioncreateStar(c)
- {
- varn=0;
- vardx=100;
- vardy=0;
- vars=50;
- varx=Math.sin(0);
- vary=Math.cos(0);
- vardig=Math.PI/5*4;
- //创立路径
- c.beginPath();
- c.fillStyle=toRGB(parseInt(Math.random()*(255-0+1)+0),parseInt(Math.random()*(255-0+1)+0),parseInt(Math.random()*(255-0+1)+0));
- for(vari=0;i<5;i++)
- {
- x=Math.sin(i*dig);
- y=Math.cos(i*dig);
- c.lineTo(dx+x*s,dy+y*s);
- }
- c.closePath();
- }
- //小于10补零
- functionaddZero(string){returnstring.length==2?string:0+string;}
- //随即色彩
- functiontoRGB(redValue,greenValue,blueValue)
- {
- var
- rgbR=addZero(redValue.toString(16),2),
- rgbG=addZero(greenValue.toString(16),2),
- rgbB=addZero(blueValue.toString(16),2);
- varrgb="#"+rgbR+rgbG+rgbB;
- returnrgb;
- }
- </script>
- </head>
- <body>
- <canvasid="W3Cfuns_canvas"width="400"height="300"></canvas>
- </body>
- </html>
</p>
每一款手机有不同的分辨率,不同屏幕大小,如何使我们开发出来的应用或页面大小能适合各种高端手机使用呢?学习html5viewport的使用能帮你做到这一点…… |
|