好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

html5教程-HTML5 Canvas 旋转

小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

旋转
与移动一样,Context对象能够调用rotate()方法来按一定的夹角转动Canvas 画布 。rotate()方法的原型如下:

void rotate(radian);

用于将Canvas画布顺时针转动到与原x轴(横轴) 方向 成radian角的位置,radian按弧度制,转动后x轴方向同时发生 改变 。同样,旋转将不会影响到已经 绘制 的图形但是会影响其它由该Canvas生成的Context对象。

下面的旋转的示例:

&nbs p;

<!DOCTY PE HTML > 
<ht ML > 
<body> 
<canvas id="canvas" width="600"h ei ght="400">     
         <p>Your br owserdoes not support the canvas element!</p>     
</canvas>     
      
<script type="text/javascript">     
    VAR canvas =document.getElementById("canvas");     
    var context2D =canvas.getContext("2d");  
    var pic = new Image();  
    pic.src =" ;m ilaoshu. jpg ";  //注意目录结构,这里是把图片和html放在一个目录的 
     
    //注意下面方法中 画笔 状态的保护,这在很多情况下都会使用到 
    function draw(){ 
        context2D.clearRect(0,0,600,400); 
        context2D.save();//保存画笔状态 
        context2D.rotate(Math.PI/10*Math.random());// 开始 旋转 
        context2D.drawImage(pic,100, 100); 
        context2D.re Store ();//绘制结束以后,恢复画笔状态 
    }         
      
    setInterval(draw, 1000); 
      
</script>     
</body> 
</html> 
<!DOCTYPE HTML>
<html>
<body>
<canvas id="canvas" width="600"height="400">   
         <p>Your browserdoes not support the canvas element!</p>   
</canvas>   
    
<script type="text/javascript">   
 var canvas =document.getElementById("canvas");   
 var context2D =canvas.getContext("2d");
 var pic = new Image();
 pic.src ="milaoshu.jpg";  //注意目录结构,这里是把图片和html放在一个目录的
 
 //注意下面方法中画笔状态的保护,这在很多情况下都会使用到
 function draw(){
  context2D.clearRect(0,0,600,400);
  context2D.save();//保存画笔状态
  context2D.rotate(Math.PI/10*Math.random());//开始旋转
  context2D.drawImage(pic,100, 100);
  context2D.restore();//绘制结束以后,恢复画笔状态
 }  
    
 setInterval(draw, 1000);
 
</script>   
</body>
</html>

效果如图:

 

补充:

缩放
Context对象可以调用scale()方法来控制Canvas在x轴和y轴方向上的缩放比例。scale()方法的原型如下:

void scale(x, y);

其中x、y分别表示在x轴和y轴上的缩放比例,必须是 正数 。同translate()与rotate()一样,scale也是对整个Canvas对象的改变,但是不会影响已经绘制的图形

由于缩放非常 简单 ,就不单独做demo了。

 摘自 冯小卫
 

旋转
与移动一样,Context对象能够调用rotate()方法来按一定的夹角转动Canvas画布。rotate()方法的原型如下:

void rotate(radian);

用于将Canvas画布顺时针转动到与原x轴(横轴)方向成radian角的位置,radian按弧度制,转动后x轴方向同时发生改变。同样,旋转将不会影响到已经绘制的图形但是会影响其它由该Canvas生成的Context对象。

下面的旋转的示例:

 

<!DOCTYPE HTML> 
<html> 
<body> 
<canvas id="canvas" width="600"height="400">     
         <p>Your browserdoes not support the canvas element!</p>     
</canvas>     
      
<script type="text/javascript">     
    var canvas =document.getElementById("canvas");     
    var context2D =canvas.getContext("2d");  
    var pic = new Image();  
    pic.src ="milaoshu.jpg";  //注意目录结构,这里是把图片和html放在一个目录的 
     
    //注意下面方法中画笔状态的保护,这在很多情况下都会使用到 
    function draw(){ 
        context2D.clearRect(0,0,600,400); 
        context2D.save();//保存画笔状态 
        context2D.rotate(Math.PI/10*Math.random());//开始旋转 
        context2D.drawImage(pic,100, 100); 
        context2D.restore();//绘制结束以后,恢复画笔状态 
    }         
      
    setInterval(draw, 1000); 
      
</script>     
</body> 
</html> 
<!DOCTYPE HTML>
<html>
<body>
<canvas id="canvas" width="600"height="400">   
         <p>Your browserdoes not support the canvas element!</p>   
</canvas>   
    
<script type="text/javascript">   
 var canvas =document.getElementById("canvas");   
 var context2D =canvas.getContext("2d");
 var pic = new Image();
 pic.src ="milaoshu.jpg";  //注意目录结构,这里是把图片和html放在一个目录的
 
 //注意下面方法中画笔状态的保护,这在很多情况下都会使用到
 function draw(){
  context2D.clearRect(0,0,600,400);
  context2D.save();//保存画笔状态
  context2D.rotate(Math.PI/10*Math.random());//开始旋转
  context2D.drawImage(pic,100, 100);
  context2D.restore();//绘制结束以后,恢复画笔状态
 }  
    
 setInterval(draw, 1000);
 
</script>   
</body>
</html>

效果如图:

 

补充:

缩放
Context对象可以调用scale()方法来控制Canvas在x轴和y轴方向上的缩放比例。scale()方法的原型如下:

void scale(x, y);

其中x、y分别表示在x轴和y轴上的缩放比例,必须是正数。同translate()与rotate()一样,scale也是对整个Canvas对象的改变,但是不会影响已经绘制的图形

由于缩放非常简单,就不单独做demo了。

 摘自 冯小卫
 

觉得 可用,就经常来吧! 欢迎评论哦!  html5教程 ,巧夺天工,精雕玉琢。小宝典献丑了!

总结

以上是 为你收集整理的 html5教程-HTML5 Canvas 旋转 全部内容,希望文章能够帮你解决 html5教程-HTML5 Canvas 旋转 所遇到的问题。

如果觉得 网站内容还不错, 推荐好友。

查看更多关于html5教程-HTML5 Canvas 旋转的详细内容...

  阅读:26次