初探HTML5——canvas元素(三)

这是关于canvas的第三个小节,还记得在第一小节中完成了哪些操作么?是的,关于直线的绘制。那么本小节,就做一件有意思的事情,利用直线绘制一个三角形。

一、绘制三角形

绘制三角形按照之前的理解需要4组坐标,而实际上只要3组坐标也能完成三角形的绘制。在调用closePath()方法关闭绘制路径之后,会将绘制路径的最后一点与绘制路径的起点连接起来。

程序的完整代码如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>canvas演示绘制矩形</title>
    <script type="text/javascript">
      window.onload=function(){
       //获取canvas对象的context(绘图上下文)
       var context=document.getElementById('canvas').getContext("2d");
       //绘制三角形(自定义形状)路径
       context.moveTo(200,60);
       context.lineTo(70,180);
       context.lineTo(300,180);
       //关闭路径
       context.closePath();
       //按顺序路径绘制图形
       context.stroke();
      }
    </script>
  </head>
  <body>
     <canvas id="canvas" width="400" height="400"></canvas>
  </body>
</html>

浏览效果:


三角形绘制效果

二、扩展绘制线型

绘制线型一直是用的实现,那么可不可换成虚线呢?当然可以。

虚线绘制三角形

关键代码只有一行,其他的代码不变。setLineDash([array])方法需要传入数组作为参数。如果传入一个参数就是线长间距一样。有兴趣的,可以多传几个参数玩玩。也许你能发现好玩的事情。

//定义线型为虚线,线长4,间隔10
context.setLineDash([4,10]);

添加代码的正确位置如下图:

PS:这些都是简单的开胃小菜,更多有趣的玩法敬请关注。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,990评论 25 709
  • 一:canvas简介 1.1什么是canvas? ①:canvas是HTML5提供的一种新标签 ②:HTML5 ...
    GreenHand1阅读 10,195评论 2 32
  • 人真的不能抱有侥幸心理的,往年一开学就是我的恐怖日子,因为在九月,我不是感冒就是过敏、而今年撑到了月底了,一直默默...
    葬心浅夏阅读 1,378评论 0 0
  • 01 深秋已过,初冬将至,庭院里大树的叶子已经全部落光。除了花园里特意种植的冬青,张家大院里,已经没有了绿色。 外...
    减肥的芝麻汤圆阅读 3,613评论 24 30
  • 在情人节这一天和一个懂你喜悲的友人一起吃一顿热气腾腾的养生火锅,在暖意十足的午后再去看一场全国首映的歌舞爱情...
    恒恒么阅读 3,728评论 0 1

友情链接更多精彩内容