We can split the text string by the line breaks and position the split text in a way that each piece of text is on a separate line.
To do this, we write:
<canvas width='200' height='200'></canvas>
to add the canvas.
Then we write:
const c = document.querySelector('canvas').getContext('2d');
c.font = '11px Courier';
const txt = 'line 1\nline 2\nthird line..';
const x = 30;
const y = 30;
const lineheight = 15;
const lines = txt.split('\n');
for (let i = 0; i < lines.length; i++) {
c.fillText(lines[i], x, y + (i * lineheight));
}
to add the txt
text into the canvas.
We get the 2D context with querySelector
and getContext
.
Then we set the font
property to the font we want.
Next, we have the txt
text with some line breaks.
We set the x
and y
variables to the position of the text for the first line.
Then we call split
to split txt
by the line breaks into an array.
Finally, we use a for loop to call fillText
on each lines
entry with the y coordinates of the line incremented by each line with y + (i * lineheight)
.
Now we should see each line of text display on its own line.