环形相似度.vue 1.25 KB
<template>
  <div id="sim">
    <canvas :id="cid" class="simcav"></canvas>
  </div>
</template>

<script>
export default {
  props:['cid'],
 data(){
  return{

  }
 },
 methods:{
   drawoutround(){
     let c=document.getElementById(this.cid);
     debugger
     let ctx = c.getContext("2d")
     c.width = 300
     c.height = 150
     ctx.beginPath();
     var gradient=ctx.createLinearGradient(0,0,170,0);
      gradient.addColorStop("1","rgba(0,0,237,.4)");
      gradient.addColorStop("0.3","rgba(33,149,237,.4)");
      gradient.addColorStop("0.6","rgba(33,149,237,.8)");
      gradient.addColorStop("0","rgba(33,149,237,1)");
      // 用渐变进行填充
      ctx.strokeStyle=gradient;
      ctx.lineWidth=10;
      ctx.arc(135,70,40,0,1.8*Math.PI,false)
      ctx.lineCap = "round"
      ctx.stroke();
      ctx.font="18px Verdana";
      var gradient=ctx.createLinearGradient(0,0,c.width,0);
      gradient.addColorStop("0","magenta");
      gradient.addColorStop("0.5","blue");
      gradient.addColorStop("1.0","red");
      // 用渐变填色
      ctx.fillStyle=gradient;
      ctx.fillText("80%",115,75);
   }
 },
 mounted(){
   this.drawoutround()
 }
}
</script>

<style>
.simcav{
  height: 150px;
  width: 300px;
  position: absolute;
  left: -80px
}
</style>