中午登上慕课网,偶然发现慕课网改版了,这倒是其次,惊奇的是页面居然出现了不显示我的观看记录和观看百分比的BUG!还准备说要给慕课网反馈一下来着,晚上一登,居然修复了,不得不佩服慕课网工程师们惊人的处突能力啊。
回到正题,相信大家都见到过七巧板,本文使用简单的HTML5新特性Canvas的2d图形绘制功能,绘制了一个简单的七巧板。
Canvas是HTML5的新特性,相比于其他的HTML标签来说,Canvas给前端工程师们提供了更多的操作可能性,也为页面的生动化效果做出了不菲的贡献。canvas的3d绘图的出现,加上JS对HTML页面的强大动态渲染能力,加上各大浏览器厂商对于Flash的抛弃,相信日后canvas将在HTML页面展示,HTML游戏,HTML动画上大有可为。
canvas的2d绘图非常简单,整体的操作感觉非常的人性化,主要是要区分,移动到点位(moveTo)和划线到点位(lineTo)的区别,canvas对于页面的色彩和轮廓方面也加入了相应的边框(stroke)和填充(fill)功能,下面让我们一起来看一下七巧板的canvas实现吧。
HTML方面
这块我就写了一个canvas的标签,同时制定它的宽高等属性,有一点要注意,其宽高最好不要使用px作为单位,而是使用默认值作为单位(简单点说就是不要写宽高的单位),否则在后期绘图会出现绘图区的一些问题。
1 | <canvas id="canvas" width="800" height="800" style="border: 1px solid #eee">Your broser can't support canvas</canvas> |
JS方面
学过canvas的同学肯定知道,2d绘图简直就是小儿科,用来用去也就那么几个API,照本宣科就是了。
1 | var canvas = document.getElementById("canvas"); |
代码为以上,欢迎批评指正。