HTML5新增元素之Canvas-实现太极八卦图和扇子
HTML5新增元素之Canvas-实现太极八卦图和扇子
绘制流程:
1、在HTML5中添加canvas元素,并且设置宽度和ID
2、在canvas元素中添加提示语句,让不支持的canvas的浏览器能够显示友好的提示语句
3、添加script元素
4、获取画布/设置绘图环境
(1)制定线宽:lineWidth(驼峰命名法)=数值
(2)制定颜色:strokeStyle=颜色值(只适用于轮廓、线段、填充颜色用:fillStyle=颜色)
(3)设置起点:moveTo(x坐标,y坐标)
(4)设置终点:lineTo(x 坐标,y坐标)
(5)开始绘制:stroke()
文末有Canvas实现太极八卦图和扇子的案例可以看一下
一、什么是 Canvas?
HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。
画布是一个矩形区域,您可以控制其每一像素。canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
二、创建 Canvas 元素
向 HTML5 页面添加 canvas 元素,规定元素的 id、宽度和高度:
<canvas id="myCanvas" width="200" height="100">canvas>
通过 JavaScript 来绘制
- canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成:
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.fillStyle="#FF0000";
cxt.fillRect(0,0,150,75);
</script>
JavaScript 使用 id 来寻找 canvas 元素:
var c=document.getElementById("myCanvas");
然后,创建 context 对象:
var cxt=c.getContext("2d");
getContext(“2d”) 对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
下面的两行代码绘制一个红色的矩形:
cxt.fillStyle="#FF0000";
cxt.fillRect(0,0,150,75);
fillStyle 方法将其染成红色,fillRect 方法规定了形状、位置和尺寸。
理解坐标
上面的 fillRect 方法拥有参数 (0,0,150,75)。
意思是:在画布上绘制 150x75 的矩形,从左上角开始 (0,0)。
如下图所示,画布的 X 和 Y 坐标用于在画布上对绘画进行定位。
案例:
HTML代码如下:
<canvas id="canvas" width="500" height="500">
您的浏览器暂不支持HTML的元素
c.lineTo(200,200);
canvas>
CSS代码如下:
<style>
canvas {
background: #a9a9a0 ;
}
style>
JS代码如下:
<script>
var canvas=document.getElementById('canvas');
var c=canvas.getContext('2d');
c.lineWidth=50;
c.strokeStyle="aaaaaa";
c.moveTo(50,50);
c.lineTo(200,200);
c.lineTo(300,300);
c.lineTo(50,50);
c.stroke();
</script>
效果图如下(有点丑,别喷我):
代码如下:
<canvas id="canvas" width="800" height="700">
您的浏览器暂不支持HTML的元素
c.lineTo(200,200);
canvas>
<style>
canvas {
background: #a9a9a0 ;
}
style>
<script>
var canvas=document.getElementById('canvas');
var c=canvas.getContext('2d');
c.lineWidth=10;
c.strokeStyle="a52a2a";
c.lineWidth=6;
c.strokeStyle="#ffa500";
c.fillStyle="#ffa500";
c.moveTo(400,500);
c.arc(400,500,300,Math.Pi*7/6,Math.PI*1.5,false);
c.beginPath();
c.moveTo(400,500);
c.arc(400,500,300,Math.PI*11/6,Math.PI*7/6,true);
c.fill();
c.beginPath();
c.fillStyle="#a9a9a0";
c.arc(400,500,150,Math.PI*7/6,Math.PI*1.5,false);
c.beginPath();
c.moveTo(400,500);
c.arc(400,500,150,Math.PI*11/6,Math.PI*7/6,true);
c.fill();
c.beginPath();
c.fillStyle="#000000";
c.font="55px 楷体";
c.fillText("纵",375,275);
c.fillText("横",375,340);
太极八卦效果图如下: