<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(图片,横坐标,纵坐标)

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("img");
ctx.drawImage(img,20,30);



Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐