HTML5 Canvas 画图
按照官方例子画了几个基本图形,算是对于HTML5 Canvas有所了解,但是感觉这里面数学知识太忘记了,虽然以前数学竞赛出身,但是好多年不用了,有所遗忘。
HTML5的canvas元素只是提供了一个画布,而实际的绘制工作由javascript来完成。
基本HTML不说了, 也就是搭一个架子,放一个<canvas>元素,然后首部引入一些javascript文件,这里面每一个js文件都是一个画图的例子.
- <!DOCTYPE html>
- <head>
- <meta charset="UTF-8">
- <title>HTML5 Canvas DEMO</title>
- <script type="text/javascript" src="js/drawRect.js"></script>
- <script type="text/javascript" src="js/drawPath.js"></script>
- <script type="text/javascript" src="js/drawLine.js"></script>
- <script type="text/javascript" src="js/drawLinearGradient.js"></script>
- <script type="text/javascript" src="js/drawTransformShape.js"></script>
- <script type="text/javascript" src="js/drawAll.js"></script>
- </head>
- <body onload="drawAll('canvas')"></body>
- <h2>canvas:放开你的梦想</h2>
- <canvas id="canvas" width="400" height="300"/>
- <br><br>
例子1:绘制矩形
- /**
- * This file is confidential by Charles.Wang
- * Copyright belongs to Charles.wang
- * You can make contact with Charles.Wang ([email protected])
- */
- //这段js代码用于画一个长方形
- //参数是传进来的画布canvas的id,表明这段代码画在哪里
- function drawRect(id){
- //取得canvas对象,也就是我们js代码要画的canvas对象
- var canvas=document.getElementById('canvas');
- if (canvas==null)
- return false;
- //从canvas取得图形上下文,这个图形上下文context封装了许多绘画方法,这是一个内置的html5对象
- var context=canvas.getContext('2d');
- //设定好当前图形上下文的样式,夜就是当前使用颜色来绘制图形,此外还有一些其他的样式
- context.fillStyle="#0044FF";
- //fillXXX用来填充图形的内部,这里fillRect,表明用当前颜色填充图形内部,4个参数分别为起点横坐标/起点纵坐标/宽度/高度
- context.fillRect(0,0,400,300);
- //颜色值既可以用十六进制命名,也可以使用颜色名
- context.fillStyle="red";
- context.strokeStyle="blue";
- //用于设置图形边框的宽度
- context.lineWidth=1;
- context.fillRect(50,50,100,100);
- //strokeXXX用来描述图形的边框(stroke),这里strokeRect,表明用来绘制刚才矩形的边框
- context.strokeRect(50,50,100,100);
- }
画出来的结果是:
例子2:用Path来绘制一组圆形:
- /**
- * This file is confidential by Charles.Wang
- * Copyright belongs to Charles.wang
- * You can make contact with Charles.Wang ([email protected])
- */
- function drawPath(id){
- var canvas=document.getElementById(id);
- if(canvas == null)
- return false;
- //依旧先拿到canvas对象和上下文对象
- var context = canvas.getContext("2d");
- //先绘制画布的底图
- context.fillStyle="#EEEEEF";
- context.fillRect(0,0,400,300);
- //用循环绘制10个圆形
- var n = 0;
- for(var i=0 ;i<10;i++){
- //开始创建路径,因为要画圆,圆本质上也是一个路径,这里向canvas说明,我要开始画了,这是起点
- context.beginPath();
- //画一个拱形(arcade),因为圆是一种特殊的拱形
- //6个参数分别是 起点横坐标,起点纵坐标,圆的半径,起始弧度,结束弧度(2PI刚好是360度),是否顺时针
- context.arc(i*25,i*25,i*10,0,Math.PI*2,true);
- //关闭路径
- context.closePath();
- context.fillStyle="rgba(255,0,0,0.25)";
- //填充刚才所画的圆形
- context.fill();
- }
- }
画出来的结果是:
相关推荐
nercon 2020-03-06
zsh 2020-03-01
wusiye 2020-10-23
表格的现在还是较为常用的一种标签,但不是用来布局,常见处理、显示表格式数据。在HTML网页中,要想创建表格,就需要使用表格相关的标签。<table> <tr> <td>单元格内的文字</td> ...
gufudhn 2020-08-09
nercon 2020-08-01
swiftwwj 2020-07-21
nercon 2020-07-16
饮马天涯 2020-07-05
Lophole 2020-06-28
gufudhn 2020-06-12
csstpeixun 2020-06-11
huzijia 2020-06-09
WebVincent 2020-06-06
行吟阁 2020-05-30
qsdnet我想学编程 2020-05-26
gufudhn 2020-05-25
qsdnet我想学编程 2020-05-19
suixinsuoyu 2020-05-15