LMLPHP后院

HTML5画布标签canvas使用介绍

原文链接 : http://blog.lmlphp.com/tutorial/2/HTML5/item/4/The_use_of_HTML5_graphic_container_tag_canvas  来自 : LMLPHP后院

HTML5 canvas 标签用于在运行时画图,canvas 标签是一个图形容器,需要使用 JavaScript 脚本去操作。canvas 支持路径,盒子,圆,文字,图片等。

canvas 默认没有边框,一般我们默认会指定区域的大小和边框。如下示例:

<canvas id="graphic_one" width="200" height="200" style="border:1px solid whiteSmoke;"></canvas>

画一根线

var c = document.getElementById("graphic_one");
var ctx = c.getContext("2d");
ctx.moveTo(0, 0);
ctx.lineTo(200, 100);
ctx.stroke();

画一个圆

var ctx = c.getContext("2d");
ctx.beginPath();
ctx.arc(95, 50, 40, 0, 2*Math.PI);
ctx.stroke();

画圆的前面三个参数比较容易理解,分别是圆心的横坐标,纵坐标,半径。上面例子的后面两个参数分别代表起点弧度,结束弧度,需要注意的是,PI 代表 180 度,最后一个参数是可选参数,表示画圆的方向是顺时针还是逆时针。

写入文字

var ctx = c.getContext("2d");
ctx.font = "16px Arial";
ctx.fillText("LMLPHP", 10, 50);

线性渐变

// 创建渐变
var grd = ctx.createLinearGradient(0, 0, 200, 0);
grd.addColorStop(0, "red");
grd.addColorStop(1, "white");

// 填充渐变
ctx.fillStyle = grd;
ctx.fillRect(10, 10, 150, 80);

圆形渐变

// 创建渐变
var grd = ctx.createRadialGradient(75, 50, 5, 90, 60, 100);
grd.addColorStop(0, "red");
grd.addColorStop(1, "white");

// 填充渐变
ctx.fillStyle = grd;
ctx.fillRect(10, 10, 150, 80);

插入图片

var img = document.getElementById("...");
ctx.drawImage(img, 10, 10);
LMLPHP,可爱滴WEB开发框架

2017-11-24 13:25:49 1511501149 0.006383