由于它具有3个透明度级别,因此您需要至少划动3次。我们使梯度透明,如下所示:tGrad.addColorStop(0, "transparent");
。
对不起,让你这样,但我已经为你的项目做了一个结构。它应该可以帮助你实现你的目标。这里是我的结构是这样的:http://jsfiddle.net/sadaf2605/JzbG2/
助手代码:
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var context2 = canvas.getContext('2d');
var centerX = canvas.width/2;
var centerY = canvas.height/2;
var radius = 70;
//gradient for circle
var grad = context.createLinearGradient(50, 50, 150, 150);
grad.addColorStop(0, "#315164");
grad.addColorStop(1, "#55a1ce");
context.strokeStyle = grad;
context.lineCap = "round";
//drawing circle
context.beginPath();
context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
context.lineWidth = 22;
context.stroke();
//circle ends
//gradient for straight line1
context.beginPath();
var t1Grad=context.createLinearGradient(50, 50, 150, 150);
t1Grad.addColorStop(0.3, "transparent");
t1Grad.addColorStop(1, "#55a1ce");
context.strokeStyle=t1Grad;
//drawing straight line1
context.moveTo(170, 35);
context.lineTo(170, 50);
context.stroke();
//gradient for straight line1
context.beginPath();
var t2Grad=context.createLinearGradient(50, 50, 150, 150);
t2Grad.addColorStop(0.3, "transparent");
t2Grad.addColorStop(1, "#55a1ce");
context.strokeStyle=t2Grad;
//drawing straight line1
context.moveTo(170, 35);
context.lineTo(170, 165);
context.stroke();