本文概述
- 如何创建HTML画布?
- HTML 5 Canvas标签示例
- 支持的浏览器
- 带有JavaScript的HTML画布标签
- 在画布上画线
- 在画布上绘制圆
- 在画布上绘制文字
HTML 5 < canvas> 标记用于使用脚本语言(如JavaScript)绘制图形。
< canvas> 元素只是用于图形的容器, 必须使用脚本语言才能绘制图形。 < canvas> 元素允许对2D形状和位图图像进行动态且可编写脚本的渲染。
它是一种低级的过程模型, 可更新位图且没有内置场景。画布中有几种绘制路径, 框, 圆, 文本和添加图像的方法。
如何创建HTML画布?画布是HTML页面上类似矩形的区域。用canvas元素指定。默认情况下, < canvas> 元素没有边框, 也没有内容, 就像一个容器。
<
canvas id = "mycanvas" width ="200" height ="100">
<
/canvas>
HTML 5 Canvas标签示例
<
canvas id="myCanvas1" width="300" height="100" style="border:2px solid;
">
Your browser does not support the HTML5 canvas tag.
<
/canvas>
立即测试
输出:
你的浏览器不支持HTML5 canvas标签。
注意:始终需要指定id属性和height&width属性来定义画布的大小。一个HTML页面上可以有多个canvas元素。支持的浏览器
Element | Chrome | IE | Firefox | Opera | Safari |
< canvas> | Yes | Yes | Yes | Yes | Yes |
坐标(0, 0)定义画布的左上角。参数(0, 0, 200, 100)用于fillRect()方法。此参数将填充从左上角(0, 0)开始的矩形, 并绘制200 * 100矩形。
<
canvas id="myCanvas" width="250" height="150" style="border:1px solid #c3c3c3;
">
Your browser does not support the HTML5 canvas tag.
<
/canvas>
<
script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.fillStyle = "#FF0000";
ctx.fillRect(0, 0, 200, 100);
<
/script>
输出:
你的浏览器不支持HTML5 canvas标签。
在画布上画线如果要在画布上绘制直线, 可以使用以下两种方法。
moveTo(x, y):用于定义线的起点。
lineTo(x, y):用于定义线的终点。
如果绘制起点为(0, 0)且终点为(200, 100)的线, 请使用描边方法绘制该线。
<
canvas id="myCanvasLine" width="200" height="100" style="border:1px solid #d3d3d3;
">
Your browser does not support the HTML5 canvas tag.<
/canvas>
<
script>
var c = document.getElementById("myCanvasLine");
var ctx = c.getContext("2d");
ctx.moveTo(0, 0);
ctx.lineTo(200, 100);
ctx.stroke();
<
/script>
输出:
你的浏览器不支持HTML5 canvas标签。
在画布上绘制圆如果要在画布上绘制圆, 可以使用arc()方法:
arc(x, y, r, start, stop)
要在HTML画布上绘制圆, 请使用ink()方法之一, 例如stroke()或fill()。
<
canvas id="myCanvasCircle" width="200" height="100" style="border:1px solid #d3d3d3;
">
Your browser does not support the HTML5 canvas tag.<
/canvas>
<
script>
var c = document.getElementById("myCanvasCircle");
var ctx = c.getContext("2d");
ctx.beginPath();
ctx.arc(95, 50, 40, 0, 2*Math.PI);
ctx.stroke();
<
/script>
输出:
你的浏览器不支持HTML5 canvas标签。
在画布上绘制文字有一些属性和方法可用于在画布上绘制文本。
字体属性:用于定义文本的字体属性。
fillText(text, x, y)方法:用于在画布上绘制填充文本。它看起来像粗体。
strokeText(text, x, y)方法:它也用于在画布上绘制文本, 但文本未填充。
让我们看一下fillText()方法示例。
<
canvas id="myCanvasText1" width="300" height="100" style="border:1px solid #d3d3d3;
">
Sorry! Your browser does not support the HTML5 canvas tag.<
/canvas>
<
script>
var c = document.getElementById("myCanvasText1");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
ctx.fillText("Hello srcmini", 10, 50);
<
/script>
输出:
抱歉!你的浏览器不支持HTML5 canvas标签。
让我们看一下strokeText()方法示例。
<
canvas id="myCanvasText2" width="300" height="100" style="border:1px solid #d3d3d3;
">
Sorry!Upgrade your browser. It does not support the HTML5 canvas tag.<
/canvas>
<
script>
var c = document.getElementById("myCanvasText2");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
ctx.strokeText("Hello srcmini", 10, 50);
<
/script>
输出:
【HTML canvas标签】抱歉!升级你的浏览器。它不支持HTML5 canvas标签。
推荐阅读
- HTML button标记
- HTML Button onClick事件
- HTML的构建块
- HTML br标记
- HTML bold标签
- HTML body标签
- HTML blockquote标记
- HTML页脚footer标记
- HTML font标记(HTML5不支持)