canvas中的变换
来源:互联网 发布:广州淘宝摄影培训 编辑:程序博客网 时间:2024/06/08 17:53
注意:canvas中变换的都是坐标系;
translate()平移坐标系:
<script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.translate(50,50);
ctx.translate(50,50);
ctx.strokeRect(0,0,300,200);
ctx.beginPath();
ctx.translate(-100,-100);
ctx.strokeRect(0,0,300,200);
</script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.translate(50,50);
ctx.translate(50,50);
ctx.strokeRect(0,0,300,200);
ctx.beginPath();
ctx.translate(-100,-100);
ctx.strokeRect(0,0,300,200);
</script>
rotate旋转坐标系
<script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.rotate(Math.PI/4);
ctx.rotate(-Math.PI/4);
ctx.strokeRect(0,0,300,200);
</script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.rotate(Math.PI/4);
ctx.rotate(-Math.PI/4);
ctx.strokeRect(0,0,300,200);
</script>
旋转示例:
<script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.strokeStyle="pink";
//1、平移坐标系到矩形的中心点
ctx.translate(150,100);
var timer=setInterval(function(){
ctx.rotate(0.01*Math.PI);
//2、绘制矩形
ctx.strokeRect(-150,-100,300,200);
},10);
</script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.strokeStyle="pink";
//1、平移坐标系到矩形的中心点
ctx.translate(150,100);
var timer=setInterval(function(){
ctx.rotate(0.01*Math.PI);
//2、绘制矩形
ctx.strokeRect(-150,-100,300,200);
},10);
</script>
scale伸缩变换
<script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
//变成一个竖起来的椭圆
ctx.scale(0.5,1);
ctx.arc(150,300,150,0,2*Math.PI);
ctx.stroke();
</script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
//变成一个竖起来的椭圆
ctx.scale(0.5,1);
ctx.arc(150,300,150,0,2*Math.PI);
ctx.stroke();
</script>
伸缩变换示例demo2
<script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.scale(0.5,0.5);
ctx.strokeStyle="red";
ctx.strokeRect(0,0,1600,1200);
ctx.beginPath();
ctx.strokeStyle="blue";
ctx.strokeRect(0,0,800,600);
</script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.scale(0.5,0.5);
ctx.strokeStyle="red";
ctx.strokeRect(0,0,1600,1200);
ctx.beginPath();
ctx.strokeStyle="blue";
ctx.strokeRect(0,0,800,600);
</script>
0 0
- canvas中的变换
- HTML5教程-Canvas标签中的矩阵变换
- 【HTML5】Canvas中的tranform变换矩阵
- canvas变换
- canvas变换
- canvas变换
- Canvas---Canvas变换与操作
- Canvas之变换初步
- canvas变换与操作
- Canvas的图形变换
- canvas的各种变换
- canvas画布变换画六芒星
- Canvas的变换
- 07、canvas标签之canvas变换
- html5的canvas坐标变换
- 浅谈canvas的matrix变换
- Html5 Canvas初探学习笔记(6) -变换
- 【js学习笔记-112】------<canvas>坐标系变换
- 非洲小孩问题
- 【HDU 5666 Segment】+ 俄罗斯乘法
- canvas绘制图片详解
- splay jzoj4986 神秘物质
- 程序化广告实战分享系列
- canvas中的变换
- 安装Angular-Cli以及失败原因解决
- 常用html标签
- SQL 运算符
- django基础
- canvas中的状态保存与恢复
- 我的物联网综合知识之创建app版前端
- 后数组是否是二叉搜索树的后序
- 【Bzoj1798】维护序列seq