<canvas>标签的使用
<canvas> 标签定义图形,比如图表和其他图像。但是<canvas> 标签只是图形容器,必须使用脚本来绘制图形。标签通常需要指定一个id属性 (脚本中经常引用), width 和 height 属性定义的画布的大小,使用 style 属性来添加边框.例如创建一个矩形,正方形。<!doctype html>&am
<canvas> 标签
定义图形,比如图表和其他图像。但是<canvas> 标签只是图形容器,必须使用脚本来绘制图形。标签通常需要指定一个id属性 (脚本中经常引用), width 和 height 属性定义的画布的大小,使用 style 属性来添加边框.
例如创建一个矩形,正方形。
<!doctype html>
<html >
<head>
<meta charset="UTF-8">
<script type="js/index.js"></script>
<title>画图</title>
</head>
<body >
<canvas id="rectangular" width="200" height="100" style="border:3px solid #adadad;">
</canvas>
<canvas id="square" width="200" height="200" style="border:5px solid #ff88c2;"></canvas>
</body>
</html>
Canvas 是一个二维网格,Canvas 的左上角坐标为 (0,0)
在Canvas上画线,我们将使用moveTo(x,y) 定义线条开始坐标,lineTo(x,y) 定义线条结束坐标,绘制线条可用stroke。
例如定义开始坐标(100.20),结束坐标(130,100)
<canvas id="myCanvas"></canvas>
<script>
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");ctx.moveTo(100,20);
ctx.lineTo(130,100);
ctx.stroke();
</script>
三条线条可以拓展画三角形
ctx.moveTo(100, 100);
ctx.lineTo(400, 400);
ctx.lineTo(100, 400);
ctx.lineTo(100, 100);
ctx.stroke();
当然,我们可以通过一个arc方法画圆形,首先要知道弧形绘制方法,arc(x, y, r, 起始弧度, 结束弧度, 弧线方向) 。x正半轴朝右 ,y正半轴朝下 ,参数中x,y表示弧心(或者理解为圆心) ,r就是半径 ,弧线方向0为顺时针,1为逆时针 。
画一条弧线
ctx.arc(200, 200, 100, 0, Math.PI/2, 0);
ctx.stroke();
画一个圆
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.beginPath();
ctx.arc(95,50,40,0,2*Math.PI);
ctx.stroke();
Canvas-渐变
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d"); // 创建渐变
var grd=ctx.createLinearGradient(0,0,200,0);
grd.addColorStop(0,"red");g
rd.addColorStop(1,"white"); // 填充渐变
.fillStyle=grd;ctx.fillRect(10,10,150,80);
同时还可以设计效果,例如圆渐变 createRadialGradient()。
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d"); // 创建渐变
var grd=ctx.createRadialGradient(75,50,5,90,60,100);
grd.addColorStop(0,"green");
grd.addColorStop(1,"white"); // 填充渐变
ctx.fillStyle=grd;ctx.fillRect(10,10,150,80);
Canvas - 图像
drawImage(图片,横坐标,纵坐标)
更多推荐
所有评论(0)