Check the width of the text, before writing it on the canvas:
<!DOCTYPE html> <html> <body> <canvas id="myCanvas" width="300" height="180" style="border:1px solid #d3d3d3;"> Your browser does not support the HTML5 canvas tag.</canvas> <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); ctx.font = "30px Arial"; var txt = "Hello World" ctx.fillText("width:" + ctx.measureText(txt).width, 10, 50); ctx.fillText(txt, 10, 100);//from www . j ava 2s. c o m </script> </body> </html>
The measureText()
method returns an object that contains the width of the specified text in pixels.
Use this method get the width of a text.
context.measureText(text).width;
Parameter Values
Parameter | Description |
---|---|
text | The text to be measured |