I have a gradient that I need to apply to a canvas.
JavaScript
x
6
1
section {
2
width: 440px;
3
height: 171px;
4
background-image: linear-gradient(185deg, #39adb2 0%, rgba(255, 255, 255, 0.24) 100%), linear-gradient(to top, rgba(152, 227, 230, 0.18) 0%, rgba(196, 229, 255, 0) 99%, rgba(196, 229, 255, 0) 100%);
5
opacity: 0.48;
6
}
JavaScript
1
1
1
<section></section>
I need help to convert this to the canvas API; I don’t have a clue how to do it. maybe there is an online tool?
JavaScript
1
7
1
var gradientFill = ctx.createLinearGradient(100, 10, 100, 100);
2
gradientFill.addColorStop(0, "#39adb2");
3
gradientFill.addColorStop(0.99, "rgba(196, 229, 255, 0)");
4
gradientFill.addColorStop(1, "rgba(196, 229, 255, 0)");
5
gradientFill.addColorStop(0, "#39adb2");
6
gradientFill.addColorStop(1, "rgba(152, 227, 230, 0.18)");
7
Advertisement
Answer
Here is how you can convert the CSS gradient to canvas version …
JavaScript
1
9
1
var ctx = document.querySelector('#canvas').getContext('2d');
2
3
var grd = ctx.createLinearGradient(0, 0, 0, 171);
4
grd.addColorStop(0,"#39ADB2");
5
grd.addColorStop(0,"#98E3E6");
6
grd.addColorStop(1,"#FFFFFF");
7
8
ctx.fillStyle = grd;
9
ctx.fillRect(0, 0, canvas.width, canvas.height);
JavaScript
1
1
1
<canvas id="canvas" width="440" height="171"></canvas>