首頁 > web前端 > H5教程 > 主體

利用HTML5 Canvas API绘制矩形的超级攻略_html5教程技巧

WBOY
發布: 2016-05-16 15:45:35
原創
1834 人瀏覽過

使用closePath()闭合图形
首先我们用最普通的方法绘制一个矩形。

JavaScript Code复制内容到剪贴板
  1. nbsp;html>   
  2. "en">   
  3.   
  4.      "UTF-8">   
  5.        
  6.   
  7.   
  8. nbsp;html>   
  9. "zh">   
  10.   
  11.      "UTF-8">   
  12.     绘制矩形   
  13.   
  14.   
  15. "canvas-warp">   
  16.     "canvas" style="border: 1px solid #aaaaaa; display: block; margin: 50px auto;">   
  17.         你的浏览器居然不支持Canvas?!赶快换一个吧!!   
  18.        
  
  •   
  • <script> </script>
  •     window.onload = function(){   
  •         var canvas = document.getElementById("canvas");   
  •         canvas.width = 800;   
  •         canvas.height = 600;   
  •         var context = canvas.getContext("2d");   
  •   
  •         context.beginPath();   
  •         context.moveTo(150,50);   
  •         context.lineTo(650,50);   
  •         context.lineTo(650,550);   
  •         context.lineTo(150,550);   
  •         context.lineTo(150,50);     //绘制最后一笔使图像闭合   
  •         context.lineWidth = 5;   
  •         context.strokeStyle = "black";   
  •         context.stroke();   
  •   
  •     }   
  •   
  •   
  •   
  •   
  •   
  • 运行结果:
    2016321105129852.jpg (850×500)

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

    JavaScript Code复制内容到剪贴板
    1. nbsp;html>   
    2. "zh">   
    3.   
    4.      "UTF-8">   
    5.     绘制矩形   
    6.   
    7.   
    8. "canvas-warp">   
    9.     "canvas" style="border: 1px solid #aaaaaa; display: block; margin: 50px auto;">   
    10.         你的浏览器居然不支持Canvas?!赶快换一个吧!!   
    11.        
      
  •   
  • <script> </script>
  •     window.onload = function(){   
  •         var canvas = document.getElementById("canvas");   
  •         canvas.width = 800;   
  •         canvas.height = 600;   
  •         var context = canvas.getContext("2d");   
  •   
  •         context.beginPath();   
  •         context.moveTo(150,50);   
  •         context.lineTo(650,50);   
  •         context.lineTo(650,550);   
  •         context.lineTo(150,550);   
  •         context.lineTo(150,50);     //最后一笔可以不画   
  •         context.closePath();        //使用closePath()闭合图形   
  •   
  •         context.lineWidth = 5;   
  •         context.strokeStyle = "black";   
  •         context.stroke();   
  •   
  •     }   
  •   
  •   
  •   
  • 相關標籤:
    來源:php.cn
    上一篇:HTML5实现多张图片上传功能_html5教程技巧 下一篇:html5+css3进度条倒计时动画特效代码【推荐】_html5教程技巧
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    作者最新文章
    最新問題
    相關專題
    更多>
    熱門推薦
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!