首页前端开发HTMLHTML5 Canvas 旋转

HTML5 Canvas 旋转

时间2024-01-25 14:34:05发布访客分类HTML浏览551
导读:收集整理的这篇文章主要介绍了html5教程-HTML5 Canvas 旋转,觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。 旋转 与移动一样,Co...
收集整理的这篇文章主要介绍了html5教程-HTML5 Canvas 旋转,觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

旋转
与移动一样,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了。

 摘自 冯小卫
 

旋转
与移动一样,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教程,巧夺天工,精雕玉琢。小宝典献丑了!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

divDOMHTMLhtml5post-format-galleryRest

若转载请注明出处: HTML5 Canvas 旋转
本文地址: https://pptw.com/jishu/586637.html
HTML5 3d可以使用的方法和属性 Html 5中自定义data-*特性

游客 回复需填写必要信息