日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

vue+canvas繪制時(shí)間軸的方法

瀏覽:28日期:2023-02-15 10:23:01

本文實(shí)例為大家分享了vue canvas繪制時(shí)間軸的具體代碼,供大家參考,具體內(nèi)容如下

最近在研究canvas繪制時(shí)間軸,直接上代碼,希望分享能給大家?guī)韼椭Ч缦拢?/p>

vue+canvas繪制時(shí)間軸的方法

代碼如下,可以拷貝到vue項(xiàng)目中直接預(yù)覽

<template> <div> <canvas height='27'></canvas> </div></template><script>export default { name: ’pathwaytrack’, data() { return { screenWidth: document.body.clientWidth } }, mounted() { let that = this that.carveTimeScale(1200, 1, 10, 0, 10) let canvasColor = ’#999999’ let initTime = 12000 setInterval(() => { initTime += 1000 that.carveTimeScale(1200, 1, 10, initTime, 10) }, 1000); }, methods: { /** * 分割像素刻度 * width: 寬度 ms:一個(gè)小刻度的毫秒數(shù) pxMs:10像素一個(gè)小刻度 pageShowStartTime:初始時(shí)間(毫秒) 一大段間隔時(shí)長(zhǎng)(秒) */ carveTimeScale(width, ms, pxMs, pageShowStartTime, intervalTime) { let canvasId = document.getElementById(’time_line’) let ctx = canvasId.getContext(’2d’) ctx.clearRect(0, 0, 1200, 60) ctx.fillStyle = ’#999999’ // 為防止蘋果屏幕2X顯示不正常 // 為防止蘋果屏幕2X顯示不正常 var getPixelRatio = function (context) {var backingStore = context.backingStorePixelRatio || context.webkitBackingStorePixelRatio || context.mozBackingStorePixelRatio || context.msBackingStorePixelRatio || context.oBackingStorePixelRatio || context.backingStorePixelRatio || 1return (window.devicePixelRatio || 1) / backingStore } let ratio = getPixelRatio(ctx) let msOffset = this.startOffsetTime(pageShowStartTime, ms) // 開始的偏移時(shí)間 ms let pxOffset = msOffset / 1000 * pxMs // 開始的偏移距離 px let leftDistance = 0 // 到左側(cè)的距離 let leftDistanceTime = 0 // 到左側(cè)的時(shí)間 let beginX = 0 let beginY = 0 for (let i = 0; i < width / (ms * pxMs); i++) {leftDistance = pxOffset + i * (ms * pxMs) // 距離 = 開始的偏移距離 + 格數(shù) * px/格leftDistanceTime = pageShowStartTime + msOffset + i * ms // 時(shí)間 = 左側(cè)開始時(shí)間 + 偏移時(shí)間 + 格數(shù) * msbeginX = pxOffset + i * (ms * pxMs)let canvasColorlet showTime = pageShowStartTime + beginX / pxMs * 1000if (showTime % (intervalTime * 1000) === 0) { beginY = 0 ctx.font = ’12px Arial’ ctx.fillText(this.changeTime(showTime, 1), beginX + 10, 22) canvasColor = ’#999999’ ctx.fillStyle = ’#B1B1B1’ this.drawLine(leftDistance, beginY, leftDistance, 20, canvasColor, 1)} else if (showTime % intervalTime == 0) { beginY = 0 canvasColor = ’#999999’ this.drawLine(leftDistance, beginY, leftDistance, 10, canvasColor, 1)} } }, /** * 根據(jù)傳入?yún)?shù)畫線 */ drawLine(beginX, beginY, endX, endY, color, width) { let canvasId = document.getElementById(’time_line’); let ctx = canvasId.getContext(’2d’); ctx.beginPath(); ctx.moveTo(beginX, beginY); ctx.lineTo(endX, endY); ctx.strokeStyle = color; ctx.lineWidth = width; ctx.stroke(); }, /** * 左側(cè)開始時(shí)間的偏移,返回單位ms */ startOffsetTime(timestamp, step) { let remainder = timestamp % step return remainder ? step - remainder : 0 }, /** * 返回時(shí)間 */ changeTime(time, num) { let hour = 0 let minute = 0 let second = 0 second = time / 1000 if (second >= 3600) {minute = (second - (second % 60)) / 60hour = parseInt((minute / 60).toString())minute = minute % 60/* eslint-disable */hour >= 10 ? hour : hour = ’0’ + hourminute >= 10 ? minute : minute = ’0’ + minutesecond = second % 60second >= 10 ? second : second = ’0’ + second/* eslint-enable */return hour + ’:’ + minute + ’:’ + second } if (second < 3600 && second >= 60) {hour = ’00’minute = parseInt((second / 60).toString())/* eslint-disable */minute >= 10 ? minute : minute = ’0’ + minutesecond = second % 60second >= 10 ? second : second = ’0’ + second/* eslint-enable */return hour + ’:’ + minute + ’:’ + second } if (second < 60) {hour = ’00’minute = ’00’second = parseInt(second)/* eslint-disable */second >= 10 ? second : second = ’0’ + second/* eslint-enable */return hour + ’:’ + minute + ’:’ + second } } }}</script><style lang='less' scoped> canvas { background: black; }</style>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91精品啪在线观看国产18| 欧美有码在线| 婷婷中文字幕一区| 精品入口麻豆88视频| 国产精品99久久免费观看| 国产欧美69| 免费视频一区二区三区在线观看 | 国产精品久久观看| 国产精品毛片久久| 不卡福利视频| 1024精品一区二区三区| 亚洲免费观看| 亚洲一二av| 国产日韩一区二区三区在线播放| 中文字幕一区日韩精品| 91av一区| 欧美精品二区| 日韩精品久久久久久久电影99爱| 91国语精品自产拍| 不卡中文一二三区| 婷婷精品在线| 精品国产欧美| 午夜精品成人av| 亚洲综合日韩| 欧美性www| 99精品美女| 亚洲丝袜美腿一区| 国产欧美丝祙| 国产在线看片免费视频在线观看| 神马日本精品| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美亚洲tv| 久久久久久黄| 日韩在线视频一区二区三区| 国产精品天天看天天狠| 日本不卡免费高清视频在线| 伊人久久成人| 欧美日韩亚洲国产精品| 97精品国产| 亚洲一区国产| 国产精品蜜月aⅴ在线| 久久婷婷激情| 日本免费在线视频不卡一不卡二| 在线天堂资源www在线污| 久久99伊人| 精品淫伦v久久水蜜桃| 91精品推荐| 国产三级一区| 韩日一区二区三区| 国产精品一区二区精品| 久久国产中文字幕| 国产综合亚洲精品一区二| 日韩av一级片| 秋霞国产精品| 日韩av一级片| 欧美特黄一区| 国产成人精品福利| 亚洲精品成人一区| 日韩免费小视频| 日本少妇一区二区| 亚洲va中文在线播放免费| 在线看片日韩| 欧美freesex黑人又粗又大| 97se亚洲| 亚洲专区欧美专区| 成人一区而且| 日韩三级精品| 欧美亚洲国产精品久久| 国产精品视频一区二区三区四蜜臂| 亚洲特级毛片| 久久精品国产一区二区| 免播放器亚洲一区| 久久久久免费av| 免费在线日韩av| 自拍自偷一区二区三区| 99免费精品| 国产精品mv在线观看| 日韩影院在线观看| 999国产精品视频| 久久69成人| 国产丝袜一区| 亚州欧美在线| 先锋影音久久久| 久久xxx视频| 日本欧美一区| 蜜桃视频在线观看一区| 欧美性感美女一区二区| av资源新版天堂在线| 国产精品久久久久久av公交车| 美女国产一区| 精品一区毛片| 日本激情一区| 久久久91麻豆精品国产一区| 日韩成人精品一区二区三区| 国产亚洲一区在线| 99久久夜色精品国产亚洲狼 | 久久99精品久久久野外观看| 日本精品另类| 亚洲综合二区| 午夜日韩av| 在线日韩av| 免费高潮视频95在线观看网站| 精品国产不卡一区二区| 国产探花一区二区| 亚洲精品第一| 日韩精品一二区| 欧美天堂亚洲电影院在线观看| 欧美freesex黑人又粗又大| 在线看片国产福利你懂的| 国内揄拍国内精品久久| 精品日韩一区| 精品国产精品久久一区免费式| 国产精品66| 免费日韩成人| 国产成人精选| 日韩欧美视频专区| 欧美亚洲福利| 国产欧美88| 久久字幕精品一区| 日韩在线二区| 欧洲亚洲一区二区三区| 999精品一区| 国产偷自视频区视频一区二区| 丝袜亚洲精品中文字幕一区| 日韩精品一二区| 亚洲欧美在线综合| 日韩和欧美的一区| 欧美亚洲自偷自偷| 老鸭窝一区二区久久精品| 精品中文在线| 肉色欧美久久久久久久免费看 | 精品一区av| 国产乱码午夜在线视频| 欧美天堂视频| 免费久久精品| 亚洲视频二区| 欧美亚洲三区| 精品一区不卡| 亲子伦视频一区二区三区| 91成人精品视频| 免费在线看一区| 日韩高清国产一区在线| 国产精品17p| 日韩福利一区| 欧美天堂亚洲电影院在线观看| 在线看片一区| 日韩av中文字幕一区二区| 国产精品一区免费在线| 天堂а√在线最新版中文在线| 亚洲国产专区| 亚洲91在线| 精品国产成人| 婷婷成人基地| 日本成人精品| 国产成人在线中文字幕| 国产一区日韩一区| 婷婷精品在线| 美女av在线免费看| 久久都是精品| 国产乱码精品| 欧美成人基地 | 丝袜美腿成人在线| 欧美日韩一区自拍| 中文字幕在线高清| 亚洲综合不卡| 精品一区av| 亚洲中字黄色| 久久久久久亚洲精品美女| 国产91精品对白在线播放| 亚洲一区av| 久久精品天堂| 日韩在线观看一区二区| 激情中国色综合| 天堂av在线一区| 精品一区二区三区视频在线播放| 欧美.日韩.国产.一区.二区 | 天堂va欧美ⅴa亚洲va一国产| 成人在线免费观看网站| 视频一区二区三区中文字幕| 美女国产一区二区三区| 欧美日韩黑人| 国产精品巨作av| 欧美国产91| 免费一区二区三区在线视频| 91久久久久| 老牛国内精品亚洲成av人片| 亚洲电影在线| 国产图片一区| 91久久亚洲| 国产精品伦理久久久久久| 亚洲欧美网站在线观看| 91精品xxx在线观看| 日韩视频1区| 蜜桃成人av| 久久这里只有| 亚洲免费观看高清完整版在线观| 波多野结衣久久精品| 欧美久久亚洲| 免播放器亚洲| 欧美天堂视频|