国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

認(rèn)識(shí)canvas(畫(huà)扇形 動(dòng)態(tài)畫(huà)圓弧(requestAnimationFrame結(jié)合settimeo

xietao3 / 3319人閱讀

摘要:最近做的兩個(gè)項(xiàng)目都是關(guān)于的,做完整理一下,方便下一次使用,在里寫(xiě)的小,功能畫(huà)扇形動(dòng)態(tài)畫(huà)圓弧結(jié)合做的動(dòng)畫(huà)畫(huà)表盤(pán)創(chuàng)建一個(gè)對(duì)象方法開(kāi)始畫(huà)筆設(shè)置填充顏色是順時(shí)針是逆時(shí)針默認(rèn)是逆時(shí)針結(jié)束畫(huà)筆開(kāi)始填充沒(méi)有直接創(chuàng)建一個(gè)對(duì)象方法開(kāi)始畫(huà)筆設(shè)置填充顏色是順時(shí)針

最近做的兩個(gè)項(xiàng)目都是關(guān)于canvas的,做完整理一下,方便下一次使用,在vue里寫(xiě)的小demo,
功能:畫(huà)扇形 動(dòng)態(tài)畫(huà)圓弧(requestAnimationFrame結(jié)合settimeout做的動(dòng)畫(huà))、畫(huà)表盤(pán)
1、創(chuàng)建一個(gè)ctx對(duì)象

    2、begain()方法開(kāi)始畫(huà)筆
    3、fillStyple設(shè)置填充顏色  [strokeStyle]
    4、arc(x,y,r,startAngle,endAngle,direction)  true是順時(shí)針 false是逆時(shí)針  默認(rèn)是逆時(shí)針
    5、closePath()結(jié)束畫(huà)筆 開(kāi)始填充fill() [沒(méi)有closePah直接stroke()]
mounted () {
    this.$nextTick(() => {
      /*
        1、創(chuàng)建一個(gè)ctx對(duì)象
        2、begain()方法開(kāi)始畫(huà)筆
        3、fillStyple設(shè)置填充顏色  [strokeStyle]
        4、arc(x,y,r,startAngle,endAngle,direction)  true是順時(shí)針 false是逆時(shí)針  默認(rèn)是逆時(shí)針
        5、closePath()結(jié)束畫(huà)筆 開(kāi)始填充fill() [沒(méi)有closePah直接stroke()]
      */
      // 封裝畫(huà)扇形
      let ctx = this.$refs.can01.getContext("2d")
      this.drawFanShapes(ctx, 400, 400, 0, 0, 150, "red", false)
      this.drawFanShapes(ctx, 400, 400, 0, 120, 200, "green", false)
      // 動(dòng)態(tài)畫(huà)圓弧
      let ctx02 = this.$refs.can02.getContext("2d")
      this.drawArc(ctx02, 400, 400, 100, 0, 360, "#ffffd", 10, "round", false)
      let globalAni = null
      let endAngle = 0
      let _self = this
      function animate () {
        let timer = setTimeout(() => {
          globalAni = requestAnimationFrame(animate)
          if (endAngle < 270) {
            endAngle += 10
            _self.drawArc(ctx02, 400, 400, 100, 0, endAngle, "green", 10, "round", false)
          } else {
            clearTimeout(timer)
            cancelAnimationFrame(globalAni)
          }
        }, 20)
      }
      globalAni = requestAnimationFrame(animate)
      // 畫(huà)時(shí)鐘表盤(pán)
      let ctx03 = this.$refs.can03.getContext("2d")
      this.drawClock(ctx03, 200, 200, 60, -180 - 160, 1, "red")
    })
  },
  methods: {
    // 畫(huà)表刻度(ctx,x,y,刻度數(shù),startX, endY,lineWidth, strokeColor)
    drawClock (ctx, x, y, num, startX, endY, lineWidth, strokeColor) {
      for (let i = 0; i < 60; i++) {
        ctx.save()
        ctx.lineWidth = 1
        ctx.strokeStyle = "red"
        ctx.translate(200, 200)
        ctx.rotate(6 * i * Math.PI / 180)
        ctx.beginPath()
        ctx.moveTo(0, -180)
        ctx.lineTo(0, -160)
        ctx.stroke()
        ctx.restore()
      }
    },
    // 畫(huà)扇形(ctx,width,height,半徑[0自動(dòng)算半徑],開(kāi)始角度,結(jié)束角度,填充顏色,方向)
    drawArc (ctx, width, height, radius, startAngle, endAngle, strokeColor, lineWidth, round, direction) {
      ctx.save()
      let basic = {
        x: width / 2,
        y: height / 2,
        r: (!radius) ? (width - lineWidth) / 2 : radius,
        startAngle: (startAngle / 180) * Math.PI,
        endAngle: (endAngle / 180) * Math.PI,
        direction: direction || false
      }
      ctx.beginPath()
      ctx.strokeStyle = strokeColor
      ctx.lineWidth = lineWidth
      ctx.arc(basic.x, basic.y, basic.r, basic.startAngle, basic.endAngle, direction)
      ctx.lineCap = round
      ctx.stroke()
      ctx.restore()
    },
    // 畫(huà)圓弧(ctx,x,y,半徑[0自動(dòng)算半徑],開(kāi)始角度,結(jié)束角度,畫(huà)的顏色,是否圓角,方向)
    drawFanShapes (ctx, width, height, radius, startAngle, endAngle, fillColor, direction) {
      let basic = {
        x: width / 2,
        y: height / 2,
        r: (!radius) ? width / 2 : radius,
        startAngle: (startAngle / 180) * Math.PI,
        endAngle: (endAngle / 180) * Math.PI,
        direction: direction || false
      }
      ctx.beginPath()
      ctx.fillStyle = fillColor
      ctx.moveTo(basic.x, basic.y)
      ctx.arc(basic.x, basic.y, basic.r, basic.startAngle, basic.endAngle, direction)
      ctx.closePath()
      ctx.fill()
    }
  }

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/109358.html

相關(guān)文章

  • 認(rèn)識(shí)canvas畫(huà)扇形 動(dòng)態(tài)畫(huà)圓弧requestAnimationFrame結(jié)合settimeo

    摘要:最近做的兩個(gè)項(xiàng)目都是關(guān)于的,做完整理一下,方便下一次使用,在里寫(xiě)的小,功能畫(huà)扇形動(dòng)態(tài)畫(huà)圓弧結(jié)合做的動(dòng)畫(huà)畫(huà)表盤(pán)創(chuàng)建一個(gè)對(duì)象方法開(kāi)始畫(huà)筆設(shè)置填充顏色是順時(shí)針是逆時(shí)針默認(rèn)是逆時(shí)針結(jié)束畫(huà)筆開(kāi)始填充沒(méi)有直接創(chuàng)建一個(gè)對(duì)象方法開(kāi)始畫(huà)筆設(shè)置填充顏色是順時(shí)針 最近做的兩個(gè)項(xiàng)目都是關(guān)于canvas的,做完整理一下,方便下一次使用,在vue里寫(xiě)的小demo,功能:畫(huà)扇形 動(dòng)態(tài)畫(huà)圓弧(requestAnima...

    airborne007 評(píng)論0 收藏0
  • circle_clock 簡(jiǎn)單canvas實(shí)現(xiàn)圓弧時(shí)鐘

    摘要:渣渣成品圖最近對(duì)于圓形有種特別的感情呢因?yàn)閷?xiě)了個(gè)就像到了用來(lái)做時(shí)鐘大概會(huì)比較有趣吧所以就著手寫(xiě)了個(gè)這樣的一個(gè)東西大概代碼上錯(cuò)漏還是蠻多的接下來(lái)分享下關(guān)于如何開(kāi)發(fā)一個(gè)圓形時(shí)鐘條吧使用這次就沒(méi)有采用的方法來(lái)實(shí)現(xiàn)圓環(huán)了因?yàn)槲蚁胍龆鄬忧短椎膱A環(huán)覺(jué) 渣渣成品圖:http://codepen.io/thewindswor... 最近對(duì)于圓形有種特別的感情呢...因?yàn)閷?xiě)了個(gè)cricle_proce...

    boredream 評(píng)論0 收藏0
  • circle_clock 簡(jiǎn)單canvas實(shí)現(xiàn)圓弧時(shí)鐘

    摘要:渣渣成品圖最近對(duì)于圓形有種特別的感情呢因?yàn)閷?xiě)了個(gè)就像到了用來(lái)做時(shí)鐘大概會(huì)比較有趣吧所以就著手寫(xiě)了個(gè)這樣的一個(gè)東西大概代碼上錯(cuò)漏還是蠻多的接下來(lái)分享下關(guān)于如何開(kāi)發(fā)一個(gè)圓形時(shí)鐘條吧使用這次就沒(méi)有采用的方法來(lái)實(shí)現(xiàn)圓環(huán)了因?yàn)槲蚁胍龆鄬忧短椎膱A環(huán)覺(jué) 渣渣成品圖:http://codepen.io/thewindswor... 最近對(duì)于圓形有種特別的感情呢...因?yàn)閷?xiě)了個(gè)cricle_proce...

    寵來(lái)也 評(píng)論0 收藏0
  • circle_clock 簡(jiǎn)單canvas實(shí)現(xiàn)圓弧時(shí)鐘

    摘要:渣渣成品圖最近對(duì)于圓形有種特別的感情呢因?yàn)閷?xiě)了個(gè)就像到了用來(lái)做時(shí)鐘大概會(huì)比較有趣吧所以就著手寫(xiě)了個(gè)這樣的一個(gè)東西大概代碼上錯(cuò)漏還是蠻多的接下來(lái)分享下關(guān)于如何開(kāi)發(fā)一個(gè)圓形時(shí)鐘條吧使用這次就沒(méi)有采用的方法來(lái)實(shí)現(xiàn)圓環(huán)了因?yàn)槲蚁胍龆鄬忧短椎膱A環(huán)覺(jué) 渣渣成品圖:http://codepen.io/thewindswor... 最近對(duì)于圓形有種特別的感情呢...因?yàn)閷?xiě)了個(gè)cricle_proce...

    paney129 評(píng)論0 收藏0
  • canvas && CSS 兩種實(shí)現(xiàn)儀表盤(pán)的方式

    摘要:先上效果圖這種圖形大家應(yīng)該都見(jiàn)過(guò),俗稱儀表盤(pán),當(dāng)然,上圖只是個(gè)最基本的儀表盤(pán)架子,可能在實(shí)際場(chǎng)景中還會(huì)其他很多花里胡哨的點(diǎn)綴,那些暫且不管,不是關(guān)鍵,這東西經(jīng)常見(jiàn)到,但還沒(méi)親自上手在代碼層面實(shí)現(xiàn)過(guò),最近做的一個(gè)需求恰好有這個(gè)場(chǎng)景,這里歸先上效果圖: showImg(https://user-gold-cdn.xitu.io/2019/5/23/16ae28a94cb51d3e); 這種圖形大...

    番茄西紅柿 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<