HTML5 Canvas 旋转
2014-10-14 10:24
295 查看
旋转
与移动一样,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对象的改变,但是不会影响已经绘制的图形
与移动一样,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对象的改变,但是不会影响已经绘制的图形
相关文章推荐
- HTML5 Canvas 小例子 旋转的时钟
- html5 canvas学习--移动坐标和旋转坐标
- HTML5 Canvas平移,放缩,旋转演示
- HTML5---Canvas-画线,空心图,矩形,文字,三角形,旋转图片
- html5 canvas多个图像旋转
- HTML5 Canvas 开发 绘图方法整理 【九、Canvas旋转、缩放】
- 跟KingDZ学HTML5之七 探究Canvas之各种特效---移动、旋转、缩放
- html5 canvas旋转+缩放
- HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
- 使用HTML5 canvas 标签进行图片裁剪、旋转、缩放
- 基于HTML5 Canvas实现工控2D叶轮旋转
- 详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
- HTML5 Canvas 3D旋转动画 模糊发光特效
- html5学习笔记三:canvas中平移,缩放,旋转等图像变换问题
- 基于HTML5 Canvas实现工控2D叶轮旋转
- HTML5 Canvas 旋转的“金字塔”
- 实例讲解利用HTML5 Canvas API操作图形旋转的方法
- html5 canvas 旋转扩大
- html5 canvas旋转
- Html5 Canvas开发之画圆(时钟,贝塞尔曲线)和旋转缩放