Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 天天插天天操天天干,亚洲综合网国产福利精品一区,一区二区视频免费看

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          canvas-繪制圓形

          制圓形和圓弧都使用arc()方法:

          Arc(x, y, r, startAngle, endAngle, antiClockwise)

          Arc()方法是從(x,y)位置畫出半徑為r的圓形;

          startAngle及endAngle決定圓弧的起點(diǎn)角度與終點(diǎn)角度; startAngle: 起點(diǎn)是X軸方向, 即3點(diǎn)鐘方向。

          antiClockwise參數(shù)決定是否已逆時針方向繪圖,逆時針為true,順時針為false。


          在canvas中所有涉及角度的坐標(biāo)系有兩點(diǎn)注意的:

          0弧度的方向是正右方向。

          弧度的順時針和逆時針:


          角度與弧度轉(zhuǎn)公式

          角度轉(zhuǎn)弧度 π/180×角度

          弧度變角度 180/π×弧度


          將角度轉(zhuǎn)換為弧度,計(jì)算公式可以參考下面的公式:

          radians = degrees * Math.PI/180

          degrees 角度

          radians 弧度

          圓的弧度(360):360 * Math.PI/180 = Math.PI * 2 = 6.28

          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="utf-8">
          <title>繪制圓</title>
          <script type="text/javascript">
          function drawCircle(){
          var canvas = document.getElementById('myCanvas');
          var ctx = canvas.getContext('2d');
          //開始繪圖--圓
          ctx.strokeStyle="#336600"; //設(shè)定邊框顏色
          ctx.lineWidth=10; //設(shè)定線條寬度 10px
          ctx.fillStyle="#FF0000"; //設(shè)定填充顏色
          ctx.beginPath(); //路徑開始
          ctx.arc(100,100,50,0,Math.PI*2,true); //起始點(diǎn)(100,100)半徑50的圓
          ctx.closePath(); //關(guān)閉路徑
          ctx.fill(); //繪出填滿圖形
          ctx.stroke(); //繪出邊框
          }
          </script>
          <!--style標(biāo)記內(nèi)是CSS語法-->
          <style type="text/css">
          Canvas { border: 1px solid black; } //將框線設(shè)為1px
          </style>
          </head>
          <body>
          <input type="button" value=" 畫 圓 " onclick="drawCircle();"><br />
          <canvas id="myCanvas" width="400" height="200"></canvas>
          </body>
          </html>

          繪制圓弧

          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="UTF-8" />
          <title>繪制圓弧</title>
          <style type="text/css">
          canvas{
          border: 1px solid #000;
          }
          </style>
          </head>
          <body>
          <canvas width="600" height="400"></canvas>
          </body>
          <script type="text/javascript">
          var canvas = document.querySelector("canvas")
          var ctx = canvas.getContext("2d");
          ctx.beginPath(); //開始繪制路徑
          // ctx.arc(100, 100, 60, 0, 6.28, false);
          // ctx.arc(100, 100, 60, 0, -6.28, true);
          ctx.arc(100, 100, 60, 0, Math.PI * 2, false);
          ctx.stroke(); //顯示路徑線
          ctx.fillStyle = "pink";   //設(shè)置填充顏色
          ctx.fill(); //填充顏色
          </script>
          </html>


          繪制笑臉

          果圖

          在渲染頁面的過程中,進(jìn)度條是我們最為常見的,有條形進(jìn)度條,圓環(huán)進(jìn)度條,圓形進(jìn)度條。今天,我們就來實(shí)現(xiàn)一下圓形進(jìn)度條。

          用到的知識點(diǎn):

          1、transform:rotate;(旋轉(zhuǎn))

          2、animation;(動畫關(guān)鍵幀)

          首先,我們創(chuàng)建一個box,作為父級容器,定寬定高(160px),定位(position:relative);

          .box{

          width: 160px;

          height: 160px;

          margin: 200px auto;

          position: relative;

          }

          圓形進(jìn)度條,分為左右兩部分,利用時間差,通過動畫關(guān)鍵幀來達(dá)到進(jìn)度效果。

          接下來,我們首先實(shí)現(xiàn)左側(cè)部分,創(chuàng)建一個div,類名為left-box,定寬定高(80px,160px);定位(position:absolute);

          在left-box下創(chuàng)建一個div為子元素,類名為left-tran 和 left。接下來,設(shè)置left-tran樣式。

          我們要明白,進(jìn)度條的實(shí)現(xiàn)是通過時間差,改變邊框的顏色。通俗一點(diǎn):就是一個div,width和height都為0px;邊框?qū)挾仍O(shè)為100%;然后top和left為一組,bottom和right為一組,分別設(shè)置不同的顏色。效果如下圖:

          接下來。將父級設(shè)置overflow:hidden。超出部分隱藏。這樣就只顯示一半的邊框,隨后便利用transform:rotate旋轉(zhuǎn)45deg,邊框邊圓角得到最終效果,如下圖:

          最后設(shè)置關(guān)鍵幀,不同的邊框顏色就會相互轉(zhuǎn)變

          這樣。左側(cè)的樣式就已經(jīng)完成,右側(cè)的與之相似,這里,我們就不在這里多加描述。

          待完成右側(cè)樣式,兩個關(guān)鍵幀動畫相互協(xié)調(diào),就可以完成一個圓形進(jìn)度條啦。

          今天的全部代碼如下:

          <!DOCTYPE html>
          <html lang="en">
          <head>
           <meta charset="UTF-8">
           <meta name="viewport" content="width=device-width, initial-scale=1.0">
           <meta http-equiv="X-UA-Compatible" content="ie=edge">
           <title>Document</title>
           <style>
           * {
           padding: 0px;
           margin: 0px;
           }
           .box {
           width: 200px;
           height: 200px;
           position: relative;
           margin: 100px auto;
           box-sizing: border-box;
           }
           .left-box{
           width: 100px;
           height: 200px;
           position: absolute;
           left: 0px;
           top: 0px;
           box-sizing: border-box;
           overflow: hidden;
           }
           .left-tran{
           width: 0px;
           height: 0px;
           border: 100px solid;
           box-sizing: border-box;
           transform: rotate(45deg);
           border-radius: 50%;
           
           }
           .left{
           border-left: 100px solid #e3e4e5;
           border-bottom: 100px solid #e3e4e5; 
           animation: leftmove 10s linear infinite;
           }
           @keyframes leftmove{
           0%{
           transform: rotate(45deg);
           }
           50%{
           transform: rotate(45deg);
           }
           100%{
           transform: rotate(225deg);
           }
           }
           .right-box{
           width: 100px;
           height: 200px;
           position: absolute;
           top: 0px;
           right: 0px;
           box-sizing: border-box;
           overflow: hidden;
           }
           .right-tran{
           width: 0px; 
           height: 0px;
           border: 100px solid;
           position: absolute;
           top: 0px;
           right: 0px;
           transform: rotate(45deg);
           border-radius: 50%;
           
           }
           .right{
           border-right: 100px solid #e3e4e5;
           border-top: 100px solid #e3e4e5;
           animation: rightmove 10s linear infinite;
           }
           @keyframes rightmove{
           0%{
           transform: rotate(45deg);
           }
           50%{
           transform: rotate(225deg);
           }
           100%{
           transform: rotate(225deg);
           }
           }
           
           </style>
          </head>
          <body>
           <div class="box">
           <div class="left-box">
           <div class="left-tran left"></div>
           </div>
           <div class="right-box">
           <div class="right-tran right"></div>
           </div>
           </div>
          </body>
          </html>
          

          進(jìn)度條,結(jié)合和時間戳,就可以很好的完成一個完美的時間進(jìn)度條了。

          希望今天的知識點(diǎn)對大家有所幫助。


          主站蜘蛛池模板: 精彩视频一区二区| 亚洲一区二区三区高清不卡| 国产成人精品一区在线 | 久久精品国产亚洲一区二区| 激情内射日本一区二区三区| 无码AV天堂一区二区三区| 色国产精品一区在线观看| 天海翼一区二区三区高清视频| 日本国产一区二区三区在线观看| 国产成人av一区二区三区不卡 | 亚洲国产一区二区三区| 精品国产不卡一区二区三区| 国产成人精品无码一区二区| 亚洲AV无码一区二区三区网址| 国产一区二区三区不卡在线观看| 免费一区二区三区在线视频| 无码人妻精品一区二区三区99仓本| 久久精品国产AV一区二区三区| 日韩一区二区三区免费体验| 国产一区二区福利| 日韩在线一区视频| 国产成人无码精品一区二区三区| 亚洲精品色播一区二区| 亚洲国产成人久久综合一区77| 亚洲一区二区三区免费观看| 无码毛片一区二区三区视频免费播放 | 久久无码精品一区二区三区| 精品人妻中文av一区二区三区| 精品一区二区三区视频| 精品福利一区二区三区免费视频 | 一区二区免费国产在线观看| 久久久久99人妻一区二区三区 | 亚洲日本一区二区三区在线不卡| 免费无码VA一区二区三区| 无码精品久久一区二区三区| 国产乱码精品一区二区三区麻豆| 久久久久成人精品一区二区| 国产成人高清视频一区二区| 无码中文字幕人妻在线一区二区三区| 亚洲日本中文字幕一区二区三区 | 国产在线精品一区二区三区直播|