绘制矩形及园
前言
今天学习了javascript脚本语言及canvas元素,我想用它们绘制出几个简单的图形。
0x01)绘制矩形
首先,我们要了解几个基本的概念:
canvas元素(标签):
它是一个用于绘制图像的标签,元素本身并没有绘制能力(它仅仅是图形的容器) 您必须使用脚本来完成实际的绘图任务,此标签我用到了四种属性分别为id、width、height、style。
1)id属性用于定义一个名称
2)width属性用于定义矩形的宽度
3)height属性用于定义矩形的高度
4)style属性用于定义矩形边框的像素及颜色
script元素:
它是一个用于装载javascript脚本的容器你可在里面通过javascript脚本绘制出丰富多彩的图像,你需要添加一个参数来声明此脚本的类型type属性可以帮助我们完成;var用于定义一个变量名例如var s=3定义一个变量s并赋值为3。
矩形脚本
<!doctype html> <html> <head> <meta charset="utf-8"> <title>HTML 5 canvas fillStyle 属性</title> </head> <body> <h1>HTML 5 canvas fillStyle 属性</h1> <!-- 定义一个画布 边框1px颜色#d3d3d3 --> <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;"> <script type="text/javascript"> //第一个id对象的引用 var c=document.getElementById("myCanvas"); //返回一个画布绘画环境 var ctx=c.getContext("2d"); //定义环境的背景颜色 ctx.fillStyle="#0000ff"; //物体位置x=20、y=20位置;绘制150*100的已填充的矩形。 ctx.fillRect(20,20,150,100); </script>
</canvas> </body> </html>
0x02)绘制圆
为什么Context前面有个2D呢,没错,它还有个3D Context,叫做WebGL,这篇文章不做讨论。
要取得这只“画笔”,需要用到getContext()方法,并传入"2d"作为参数:
var drawing=document.getElementById("myCanvas"); var context=drawing.getContext("2d");
好,我们有了这只“画笔”,就可以为所欲为了。我们可以画矩形、弧线和路径等。
还有一点要说明,2D Context的 坐标开始于元素的左上角,原点坐标是(0,0)。所有坐标值都基于这个原点计算,x 方向自左向右为正,y 方向自上而下为正。
我们先来随便画点东西:
//绘制 150*100 像素的已填充矩形
context.fillRect(10, 10, 50, 50);
没错,我们画了个矩形,这个矩形从(10,10)开始画,宽和高都为50px。
绘制圆的几个方法:
<script type="text/javascript">
var drawing=document.getElementById("myCanvas");
var context=drawing.getContext("2d");
//新疆第一个路径
context.beginPath();
//绘制一个直角三角形
//起点坐标(85,35)
context.moveTo(85,35);
//终点坐标(120,75)
context.lineTo(120,75);
context.arc(85,35,25,0,2*Math.PI,false);
//创建从当前点到开始点的路径
context.closePath();
//进行绘制
context.stroke();
</script>


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css" media="screen">
#myCanvas {
background-color: #ccc;
width: 100%;
height: 100%;
}
</style>
</head>
<title>绘制园</title>
<body>
<canvas id="myCanvas">
<script type="text/javascript">
var drawing=document.getElementById("myCanvas");
var context=drawing.getContext("2d");
//新疆第一个路径
context.beginPath();
//绘制一个直角三角形
//起点坐标(85,35)
context.moveTo(85,35);
//终点坐标(120,75)
context.lineTo(120,75);
//创建弧/曲线(用于创建圆或部分圆)参数(x,y,圆大小,弧度)
context.arc(85,35,25,0,2*Math.PI,false);
//创建从当前点到开始点的路径
context.closePath();
//进行绘制
context.stroke();
</script>
</canvas>
</body>
</html>
效果

结尾
要注意每个元素的格式<xx></xx>
posted on 2018-09-30 15:46 boomboomboomboom 阅读(201) 评论(0) 收藏 举报

浙公网安备 33010602011771号