整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          HTML5中canvas元素如何繪制圖形

          天將和大家分享HTML5中canvas元素的使用,有一定參考價值,希望對大家有所幫助。

          【推薦課程:HTML5教程】

          canvas元素

          主要使用 JavaScript 在網頁上繪制圖像畫布是一個矩形區域,可以控制其每一像素而且canvas 擁有多種繪制路徑、矩形、圓形、以及添加圖像的方法,接下來將在文章中為大家詳細介紹

          html代碼

          <canvas id="demo"></canvas>

          矩形

          fillStyle:用來給圖形添加色彩的

          fillRect(x,y,width,height)

          x:距離左上角的x值

          y:距離左上角的y值

          width,height:就是圖形的寬高

          <script type="text/javascript">

          var demo=document.getElementById("demo");

          var fang=demo.getContext("2d");

          fang.fillStyle="pink";

          fang.fillRect(0,0,200,50);

          </script>

          線條

          moveTo:線條開始位置

          lineTo:結束位置

          lineWidth:線條寬度

          strokeStyle:顏色

          stroke:開始繪制

          var demo=document.getElementById("demo");

          var xian=demo.getContext("2d");

          xian.moveTo(10,10);

          xian.lineTo(100,100);

          xian.lineWidth=2;

          xian.strokeStyle="pink";

          xian.stroke();

          圓形

          beginPath():開始路徑

          arc(x,y,r,sAngle,eAngle,counterclockwise)

          x,y:為圓的中心點坐標

          r:圓的半徑

          sAngle,eAngle:圓的起始角和結束角

          counterclockwise:可寫可不寫規定應該逆時針還是順時針繪圖。False = 順時針,true = 逆時針。

          var demo=document.getElementById("demo");

          var yuan=demo.getContext("2d");

          yuan.beginPath();

          yuan.arc(100,100,50,0,2*Math.PI);

          yuan.strokeStyle="pink";

          yuan.stroke();

          圖形插入

          drawImage(img,sx,sy,swidth,sheight,x,y,width,height)

          sx,sy:剪切的 x,y 坐標位置

          swidth,sheight:被剪切圖像的寬度和高度

          x,y:在畫布上放置圖像的 x,y 坐標位置

          width,height:要使用的圖像的寬度和高度

          var demo=document.getElementById("demo");

          var img1=document.getElementById("img1");

          var img=demo.getContext("2d");

          img1.onload=function(){

          img.drawImage(img1,10,10,100,120)

          總結:以上就是本篇文章的全部內容了,希望通過本篇文章對大家有所幫助。

          以上就是HTML5中canvas元素如何繪制圖形的詳細內容,更多請關注其它相關文章!

          更多技巧請《轉發 + 關注》哦!

          HTML5 中,我們除了上一節講過的可以對圖形設置平移、旋轉、縮放,還可以給圖形添加陰影效果。添加陰影的時候只需要利用圖形上下文對象的幾個關于陰影繪制的屬性就可以實現啦。

          圖形陰影繪制的屬性



          shadowOffsetX 屬性和 shadowOffsetY 屬性分別用于設置陰影在 X 軸和 Y 軸的延伸距離,屬性值為正值表示向下或向右延伸,負值表示向上或向左延伸。

          shadowBlur 屬性用于設置陰影的模糊度,當我們不希望圖形的陰影太清晰時,可以使用這個屬性。屬性值為必須為正值,否則無效喲,一般設定在 0到10 之間。

          shadowColor 屬性值用于設置陰影的顏色,屬性值可以為任意標準的 CSS 顏色值,默認顏色為黑色。

          給圖形繪制陰影

          例如給一個粉色的矩形繪制陰影。

          示例:

          繪制向右偏移 10 像素的陰影:

          <!DOCTYPE html>
              <html>
                  <head>
                      <meta charset="utf-8">
                      <title>HTML5學習(9xkd.com)</title>
                  </head>
                  <body>
                      <canvas id="mycanvas" width="300" height="200" style="border: 1px solid #000;"></canvas>
                      <script>
                          var can = document.getElementById("mycanvas");
                          var ctx = can.getContext("2d");
                          ctx.shadowOffsetX = 10;
                          ctx.shadowBlur = 10;
                          ctx.shadowColor="#000";
                          ctx.fillStyle = "pink";  // 填充顏色
                          ctx.fillRect(50, 50, 150, 70);
                      </script>
                  </body>
              </html>    
          

          在瀏覽器中的演示效果:


          可以看到上圖中,陰影的位置向右偏移,如果想要陰影向左偏移,可以將shadowOffsetX 的值設置為負數。

          示例:

          如果要繪制向上偏移 20 像素的陰影,則不需要設置 shadowOffsetX,而是設置 shadowOffsetY 屬性,正值為向下偏移,負值為向上偏移:

          var can = document.getElementById("mycanvas");
          var ctx = can.getContext("2d");
          ctx.shadowOffsetY = -20;
          ctx.shadowBlur = 10;
          ctx.shadowColor="rgba(0, 0, 0, 0.7)"; // 設置透明度
          ctx.fillStyle = "pink";  // 填充顏色
          ctx.fillRect(50, 50, 150, 70);
          

          在瀏覽器中的演示效果:


          可以看到這張截圖中,矩形的陰影顏色要比上面示例中淡一點。這是因為我們在給陰影設置顏色時,指定了一個透明度,用到了 rgba() 函數,函數中第四個參數用于設置透明度,值為 0~1 之間的小數,0表示完全透明,1表示不透明。

          示例:

          給四個邊設置陰影:

          var can = document.getElementById("mycanvas");
          var ctx = can.getContext("2d");
          ctx.shadowBlur = 10;
          ctx.shadowColor="rgba(0, 0, 0, 0.7)"; // 設置透明度
          ctx.fillStyle = "pink";   // 填充顏色
          ctx.fillRect(50, 50, 150, 70);
          

          在瀏覽器中的演示效果:


          在實際應用中,其實我們會經常用到陰影,例如給導航欄添加陰影、給按鈕添加陰影、給圖片添加陰影等,這樣看上去就會更立體一些,增加層次感。

          了解更多可查看鏈接:https://www.9xkd.com/

          考察應試者CSS基礎的時候,有時候會要求用CSS繪制一些基礎圖形。今天向大家介紹一下平行四邊形的繪制,如果用到了不用謝我。

          一種思路是使用一個矩形的div和兩個三角形拼接來形成平行四邊形,當然可以使用偽類,這樣就不用使用三個元素了。

          另一種是使用skew屬性。

          舉個栗子:

           // css
           .parallelogram {
           display: inline-block;
           padding: 50px 100px;
           border: 1px solid black;
           transform: skew(-20deg);
           } //html <div class="parallelogram"></div>

          平行四邊形


          主站蜘蛛池模板: 精品一区二区三区免费观看| 国产在线精品一区二区夜色| 在线精品亚洲一区二区| 国产人妖视频一区二区| 无码av免费一区二区三区试看 | 国产主播福利精品一区二区| 国产天堂一区二区综合| 无码精品尤物一区二区三区| 麻豆va一区二区三区久久浪| 亚洲AV无码第一区二区三区| 亚州国产AV一区二区三区伊在| 久久一区二区三区免费播放| 天美传媒一区二区三区| 精品欧洲av无码一区二区14| 手机看片福利一区二区三区| 国产丝袜无码一区二区视频| 无码乱码av天堂一区二区| 无码人妻视频一区二区三区| 国产亚洲自拍一区| 久久综合一区二区无码| 精品无码中出一区二区| 久久一区二区三区精华液使用方法| 中文字幕在线观看一区二区 | 蜜臀AV在线播放一区二区三区| 国产精品视频免费一区二区三区| 精品一区二区三区免费毛片爱 | 日本一区二区高清不卡| 亚洲大尺度无码无码专线一区| 久久福利一区二区| 老熟女五十路乱子交尾中出一区| 国精产品一区二区三区糖心| 一区二区三区四区视频在线| 一区二区三区四区视频在线| 一本色道久久综合一区| 538国产精品一区二区在线| 国产天堂一区二区综合| 国产精品特级毛片一区二区三区| 国产亚洲3p无码一区二区| 国产人妖视频一区二区| 日韩精品无码一区二区三区免费| 中文字幕精品一区二区日本|