利用HTML5 Canvas API绘制矩形的超级攻略

2019-01-28 15:19:14王冬梅

运行结果:
2016321105129852.jpg (850×500)

乍一看没啥问题,但是视力好的童鞋已经发现了,最后一笔闭合的时候有问题,导致左上角有一个缺口。这种情况是设置了lineWidth导致的。如果默认1笔触的话,是没有问题的。但是笔触越大,线条越宽,这种缺口就越明显。那么这种情况该怎么避免呢?
标题已经剧透了,使用clothPath()闭合图形。

JavaScript Code复制内容到剪贴板
  1. <!DOCTYPE html>    <html lang="zh">   
  2. <head>        <meta charset="UTF-8">   
  3.     <title>绘制矩形</title>    </head>   
  4. <body>    <div id="canvas-warp">   
  5.     <canvas id="canvas" style="border: 1px solid #aaaaaa; display: block; margin: 50px auto;">            你的浏览器居然不支持Canvas?!赶快换一个吧!!   
  6.     </canvas>    </div>   
  7.    <script>   
  8.     window.onload = function(){            var canvas = document.getElementById("canvas");   
  9.         canvas.width = 800;            canvas.height = 600;   
  10.         var context = canvas.getContext("2d");      
  11.         context.beginPath();            context.moveTo(150,50);   
  12.         context.lineTo(650,50);            context.lineTo(650,550);   
  13.         context.lineTo(150,550);            context.lineTo(150,50);     //最后一笔可以不画   
  14.         context.closePath();        //使用closePath()闭合图形