Genius
We can draw text or outlined (stroke) text on a canvas using the code below:
ctx.fillStyle = "red"; ctx.font = "100px Times Roman"; ctx.fillText("Some Text", 10, 150); ctx.strokeStyle = "blue"; ctx.font = "50px Arial"; ctx.lineWidth = 3; ctx.strokeText("Some Text Outline", 10, 350);
Example of text on a canvas (Run Example)
<!-- Author: Derek O Reilly, Dundalk Institute of Technology, Ireland. --> <!DOCTYPE html> <html> <head> <title>Course notes example code</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> #gameCanvas { /* the canvas styling usually does not change */ outline:1px solid darkgrey; width:500px; height:500px; } </style> </head> <body> <canvas id = "gameCanvas"></canvas> <script> let canvas = document.getElementById("gameCanvas"); canvas.width = canvas.clientWidth; canvas.height = canvas.clientHeight; let ctx = canvas.getContext("2d"); // draw text on a canvas ctx.fillStyle = "red"; ctx.font = "100px Times Roman"; ctx.fillText("Some Text", 10, 150); ctx.strokeStyle = "blue"; ctx.font = "50px Arial"; ctx.lineWidth = 3; ctx.strokeText("Some Text Outline", 10, 350); </script> </body> </html>
Write code to dislay a message with an outline, as shown here.
Items will be draw on the canvas in the order that they are listed in the code. Any drawing outside of a canvas's logical area will be clipped.
Example of clipped text on a canvas (Run Example)
<!-- Author: Derek O Reilly, Dundalk Institute of Technology, Ireland. --> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>GENIUS worked example</title> <link rel="shortcut icon" type="image/png" href="images/genius_icon.png"/> <style> #gameCanvas { /* the canvas styling usually does not change */ outline:1px solid darkgrey; width:500px; height:500px; } </style> </head> <body> <canvas id = "gameCanvas"></canvas> <script> let canvas = document.getElementById("gameCanvas"); canvas.width = canvas.clientWidth; canvas.height = canvas.clientHeight; let ctx = canvas.getContext("2d"); // draw some text on the canvas ctx.fillStyle = "red"; ctx.font = "120px Times Roman"; ctx.fillText("Clipped Text", 10, 150); </script> </body> </html>
Copyright Genius.