欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

canvas制作心電圖的示例代碼

這篇文章主要為大家詳細(xì)介紹了canvas制作心電圖的方法,文中示例代碼介紹的非常詳細(xì),圖文詳解容易學(xué)習(xí),非常適合初學(xué)者入門,感興趣的小伙伴們可以參考一下。

我們提供的服務(wù)有:網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、廬陽ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的廬陽網(wǎng)站制作公司

思路:

1.模擬點(diǎn)(如果你有真實(shí)的數(shù)據(jù),那就是把數(shù)據(jù)幻化成canvas對(duì)應(yīng)的坐標(biāo)點(diǎn))

模擬點(diǎn)時(shí)注意的點(diǎn)就是高起部分需要對(duì)稱以及為了好看要隨機(jī)出現(xiàn)上上下下

2.畫線

畫線需要注意有一個(gè)勻速移動(dòng)的過程。

比如 A點(diǎn)到B點(diǎn),不是簡(jiǎn)單的A畫到B,而是A點(diǎn)到A1,A2....最后到B(這一塊按照比例移動(dòng)比較難)

3.畫線的一些效果,比如加上陰影(這里就可以自由發(fā)揮了)具體代碼

<!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>心電圖</title>
     <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
     <style>
         html,body{
             width: 100%;
             height: 100%;
             margin: 0;
         }
         canvas{
             background: #000;
             width: 100%;
            height: 100%;
         }
     </style>
 </head>
 <body>
 <p id="canvas">
     <canvas id="can"></canvas>
 </p>
 <script>
     var can = document.getElementById('can'),
         pan,
         index = 0,
         flag = true,
         wid = document.body.clientWidth,
         hei = document.body.clientHeight,
         x = 0,
         y = hei/2,
         drawX = 0, 
         drawY = hei/2,
         drawXY = [],
         cDrawX = 0,
         i = 0,
         reX = 0,
         reY = 0;
     start();
     function start(){
         can.height = hei;
         can.width  = wid;
         pan = can.getContext("2d");
         pan.strokeStyle = "white";
         pan.lineJoin = "round";
         pan.lineWidth = 6;
         pan.shadowColor = "#228DFF";
         pan.shadowOffsetX = 0;
         pan.shadowOffsetY = 0;
         pan.shadowBlur = 20;
         pan.beginPath();
         pan.moveTo(x,y);
         drawXYS();
         index = setInterval(move,1);
     };

     function drawXYS(){
         if(drawX > wid){
         }else{
             if(drawY == hei/2){
                 if(flag){
                     flag = false;
                 }else{
                     var _y = Math.ceil(Math.random()*10);
                     _y = _y/2;
                     if(Number.isInteger(_y)){
                         drawY += Math.random()*180+30;
                     }else{
                         drawY -= Math.random()*180+30;
                     }
                     flag = true;
                 }
                 cDrawX = Math.random()*40+15;
             }else{
                 drawY = hei/2;
             }
             drawX += cDrawX;
             drawXY.push({
                 x : drawX,
                 y : drawY
             });
             drawXYS();
         }
     }

     function move(){
         var x = drawXY[i].x,
             y = drawXY[i].y;
         if(reX >= x - 1){
             reX = x;
             reY = y;
             i++;
             cc();
             return;
         }
         if(y > hei/2){
             if(reY >= y){
                 reX = x;
                 reY = y;
                 i++;
                 cc();
                 return;
             }
         }else if(y < hei/2){
             if(reY <= y){
                 reX = x;
                 reY = y;
                 i++;
                 cc();
                 return;
             }
         }else{
             reX = x;
             reY = y;
             i++;
             cc();
             return;
         }

         reX += 1;
         if(y == hei/2){
             reY = hei/2;
         }else{
             var c = Math.abs((drawXY[i].x-drawXY[i-1].x)/(drawXY[i].y-drawXY[i-1].y));
             var _yt = (reX-drawXY[i-1].x)/c;

             if(drawXY[i].y < drawXY[i-1].y){
                 reY = drawXY[i-1].y - _yt;
             }else{
                 reY = drawXY[i-1].y + _yt;
             }
         }
         cc();
     }

    function cc(){
        if(i == drawXY.length){
             pan.closePath();
             clearInterval(index);
             index = 0;
             x = 0;
             y = hei/2;
             flag = true;
             i = 0;
         }else{
             pan.lineTo(reX, reY);
             pan.stroke();
         }
    }
 
</script>
</body>
</html>

以上就是canvas制作心電圖的詳細(xì)內(nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊!

新聞名稱:canvas制作心電圖的示例代碼
瀏覽路徑:http://aaarwkj.com/article20/igdcco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、品牌網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)全網(wǎng)營(yíng)銷推廣、企業(yè)網(wǎng)站制作網(wǎng)站營(yíng)銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
国产欧美日韩在线高清| 国产日韩精品欧美综合区| 亚洲欧美国产日韩天堂区| 果冻国产精品麻豆成人av| 99热在线精品国产观看| 色综合色综合色综合色| 怡红院一区二区三区毛片| 精品人妻va人妻中文字幕麻豆 | 亚洲码欧美码一区二区三区| 欧美日韩一区二区综合在线视频| 亚洲精品成人一区不卡| 国产成人精品亚洲av无人区| 人妻少妇系列一区二区| 日本午夜熟女九色视频| 亚洲视频欧美视频自拍偷拍| 国产亚洲精品一区在线| 日韩精品电影一二三| 亚洲欧美极品一区色婷婷| 国产精品伊人久久精品| 日韩av高清不卡一区二区三区| 91免费在线观看国产精品| 麻豆精品新av中文字幕| 日本在线观看精品综合| 午夜性色在线视频福利| 性感美女国产av一区二区三区| 亚洲午夜av久久乱码| 国产精品日本一区二区| 日韩精品激情视频在线| 毛片精品一区二区二区三区| av天堂资源在线播放| 国产精品亚洲一区二区在| 国产精品自产在线观看一| 日韩国产欧美色资源在线| 性生活视性生活大片日本| 亚洲va在线va天堂va在线| 日韩精品不卡在线观看| 最新91精品国产自产在线| 亚洲男人的天堂久久精品| 99热精品这里只有精品| 日韩日美日韩av影视| 日韩一级久久精品理论|