国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

如何使用html5 canvas實現心電圖的移動效果

2020-03-24 16:03:48
字體:
來源:轉載
供稿:網友
本篇文章給大家帶來的內容是關于如何使用html5 canvas實現心電圖的移動效果,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

效果圖:

1278953092-5b923fa2a3fb1_articlex.gif

思路:

1、模擬點(如果你有真實的數據,那就是把數據幻化成canvas對應的坐標點)

模擬點時注意的點就是高起部分需要對稱以及為了好看要隨機出現上上下下

2、畫線

畫線需要注意有一個勻速移動的過程。

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

3、畫線的一些效果,比如加上陰影(這里就可以自由發揮了)

具體代碼
 !DOCTYPE html  html  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  div id= canvas  canvas id= can /canvas  /div  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 

相關推薦:

如何用HTML5的Canvas制作3D動畫效果

HTML5 Canvas動畫效果圖文代碼演示

以上就是如何使用html5 canvas實現心電圖的移動效果的詳細內容,其它編程語言

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南部县| 喀喇| 富锦市| 麟游县| 香港| 孝义市| 银川市| 宁晋县| 密山市| 桂林市| 平武县| 井冈山市| 山东省| 玉田县| 贵南县| 麻城市| 靖宇县| 民乐县| 阳朔县| 乌拉特前旗| 富顺县| 安多县| 白河县| 林口县| 肇源县| 伊金霍洛旗| 玉林市| 公安县| 巴林左旗| 启东市| 额济纳旗| 宝清县| 库车县| 榆树市| 益阳市| 通江县| 兴山县| 上虞市| 新绛县| 木里| 乌拉特前旗|