<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#myCanvas {
border: 2px solid blue;
/*canvas的宽和高不能在样式表里设置*/
}
</style>
</head>
<body>
<canvas id="myCanvas" width="600" height="600"></canvas>
</body>
<script type="text/javascript">
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var deg = Math.PI/180;
//图形变换改变的是整个坐标系
//平移 translate
// context.fillRect(0,0,100,100);
// context.translate(100,100);
// context.fillStyle = "red";
// context.fillRect(0,0,100,100);
//旋转
// context.fillRect(0,0,100,100);
// context.rotate(30*deg);
// context.fillStyle = "red";
// context.fillRect(0,0,100,100);
//缩放
// context.save();
// context.fillRect(0,0,100,100);
// context.scale(2,2);
// context.fillStyle = "red";
// context.fillRect(100,100,100,100);
// context.restore();
// context.fillRect(0,200,100,100);
// context.beginPath();
// context.arc(300,300,200,0,360*deg,false);
// context.lineWidth= 5;
// context.stroke();
//
// context.translate(300,300);
//
// for(var i=0;i<12;i++){
// context.rotate(30*deg);
// context.beginPath();
// context.moveTo(197,0);
// context.lineTo(150,0);
// context.lineCap = "round";
// context.lineWidth= 10;
// context.stroke();
// }
//贝瑟尔
// context.beginPath();
// context.moveTo(0,600);
// context.quadraticCurveTo(300,600,600,0);
// context.lineWidth = 5;
// context.stroke();
context.beginPath();
context.moveTo(0,600);
context.bezierCurveTo(0,0,600,600,600,0);
context.lineWidth = 5;
context.stroke();
</script>
</html>
图形变换
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、概念 在OpenGl ES中,将一个3D模型显示到2D屏幕中有以下四个过程。 视角(Viewing)变换 相当...
- 一、图形变换 保存一个状态、恢复到上一个保存状态 因为Canvas的图形变换 '不是'基于状态的,下一个变换会在上...
- 矩阵的线性变换可以分为:旋转,缩放,投影,镜像,切变等。每一种线性变换对应着相应的矩阵。 旋转 2D旋转:a为行向...
- 线性变换-镜像 2D镜像,基于x轴进行镜像变换。(以轴为镜子)(x轴不变,y取反) 镜像矩阵,2D和3D公式(针对...