optimization
This commit is contained in:
		@@ -21,6 +21,7 @@ export default {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      defaultArcRadiusArea: [0.2, 0.8],
 | 
					      defaultArcRadiusArea: [0.2, 0.8],
 | 
				
			||||||
      defaultArcGap: 3,
 | 
					      defaultArcGap: 3,
 | 
				
			||||||
 | 
					      defaultArcColor: ['#00c0ff', '#3de7c9'],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      arcRadius: [],
 | 
					      arcRadius: [],
 | 
				
			||||||
      arcRadian: [],
 | 
					      arcRadian: [],
 | 
				
			||||||
@@ -114,17 +115,15 @@ export default {
 | 
				
			|||||||
      this.arcRadian = new Array(data.length).fill(0).map((t, i) => data[i].value * fullRadian - offsetRadian)
 | 
					      this.arcRadian = new Array(data.length).fill(0).map((t, i) => data[i].value * fullRadian - offsetRadian)
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    calcArcColor () {
 | 
					    calcArcColor () {
 | 
				
			||||||
      const { ctx, data: { color }, arcRadius: [ radius ], arcLineWidth, arcOriginPos: [x, y] } = this
 | 
					      const { ctx, arcLineWidth, defaultArcColor, canvas: { getLinearGradientColor } } = this
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      const linearGradientColor = ctx.createLinearGradient(x, y - radius - arcLineWidth, x, y + radius + arcLineWidth)
 | 
					      const { data: { color }, arcRadius: [ radius ], arcOriginPos: [x, y] } = this
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      const colorGap = 1 / (color.length - 1)
 | 
					      const colors = color || defaultArcColor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      color.forEach((c, i) => linearGradientColor.addColorStop(colorGap * i, c))
 | 
					      this.arcColor = getLinearGradientColor(ctx,
 | 
				
			||||||
 | 
					        [x, y - radius - arcLineWidth],
 | 
				
			||||||
      this.arcColor = linearGradientColor
 | 
					        [x, y + radius + arcLineWidth], colors)
 | 
				
			||||||
 | 
					 | 
				
			||||||
      this.ctx.strokeStyle = linearGradientColor
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    drawArc () {
 | 
					    drawArc () {
 | 
				
			||||||
      const { ctx, arcRadius, arcRadian, arcOriginPos, arcLineWidth, arcColor } = this
 | 
					      const { ctx, arcRadius, arcRadian, arcOriginPos, arcLineWidth, arcColor } = this
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user