HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。
<canvas id="myCanvas" width="200" height="100">内容</canvas>
canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成
1绘制一个红色的矩形
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.fillStyle="#FF0000";
cxt.fillRect(0,0,150,75);//绘制 150x75 的矩形,从左上角开始 (0,0)
</script>
2指定从何处开始,在何处结束,来绘制一条线
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.moveTo(10,10);//第一个点
cxt.lineTo(150,50);//第二个点
cxt.lineTo(10,50);//第三个点
cxt.stroke();
</script>
3规定尺寸、颜色和位置,来绘制一个圆
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.fillStyle="#FF0000";
cxt.beginPath();
cxt.arc(70,18,15,0,Math.PI*2,true);
cxt.closePath();
cxt.fill();
</script>
参数:
arc(cx,cy,radius,start_angle,end_angle,direction);
cx 水平坐标;cy 垂直坐标;radius 半径
start-angel 圆周起始位置
end_angle 弧长 Math.PI是半圆 Math.PI*2是整个圆 0.5为四分之一
direction 顺、逆时针 false为顺时针,true为逆时针(决定了圆弧的方向)
4指定的颜色来绘制渐变背景
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
var grd=cxt.createLinearGradient(0,0,175,50);
grd.addColorStop(0,"#FF0000");
grd.addColorStop(1,"#00FF00");
cxt.fillStyle=grd; //把渐变赋给填充样式
cxt.fillRect(0,0,175,50);
</script>
参数
createLinearGradient(x1,y1,x2,y2)
x1,y1就是表示线性渐变的起点坐标,x2,y2就表示终点坐标。
addColorStop(位置,颜色)
5一幅图像放置到画布上
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
var img=new Image()
img.src="flower.png"
cxt.drawImage(img,0,0);
</script>
6 getContext("2d") 对象是内建的 HTML5 对象,
拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。