HTML5新增元素之Canvas-实现太极八卦图和扇子

简介: 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);

太极八卦效果图如下:


相关文章
|
2月前
|
前端开发 JavaScript API
2024 新年HTML5+Canvas制作3D烟花特效(附源码)
2024 新年HTML5+Canvas制作3D烟花特效(附源码)
54 0
|
3月前
|
前端开发 JavaScript
Playwright系列(9):常见操作HTML 元素方式
Playwright系列(9):常见操作HTML 元素方式
|
3月前
|
缓存 前端开发 JavaScript
13个很酷但很少有人知道的HTML元素
13个很酷但很少有人知道的HTML元素
36 0
13个很酷但很少有人知道的HTML元素
|
3月前
|
JavaScript
用什么代码可以在页面添加html元素呢?
用什么代码可以在页面添加html元素呢?
|
2月前
|
存储 移动开发 前端开发
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)
48 0
|
11天前
|
JavaScript 前端开发
js怎么删除html元素
js怎么删除html元素
23 10
|
20天前
|
JavaScript
Vue移动 HTML 元素到指定位置 teleport 标签
Vue移动 HTML 元素到指定位置 teleport 标签
|
1月前
HTML列表、表格和媒体元素
HTML列表、表格和媒体元素
11 0
|
1月前
|
安全 数据安全/隐私保护
HTML表单元素
HTML表单元素
8 0
|
1月前
HTML <link> 元素
HTML <link> 元素。
16 5