The CanvasRenderingContext2D
method fillText()
, part of the Canvas 2D API, draws a text string at the specified coordinates, filling the string's characters with the current foreground color. An optional parameter allows specifying a maximum width for the rendered text, which the user agent will achieve by condensing the text or by using a lower font size.
The text is rendered using the font and text layout configuration as defined by the font
, textAlign
, textBaseline
, and direction
properties.
To draw the outlines of the characters in a string, call the context's strokeText()
method.
CanvasRenderingContext2D.fillText(text, x, y [, maxWidth]);
text
DOMString
specifying the text string to render into the context. The text is rendered using the settings specified by font
, textAlign
, textBaseline
, and direction
.x
y
maxWidth
Optional
undefined
.
This is just a simple code snippet which uses the fillText()
method.
First, we need a canvas to draw into. This code creates a context 650 pixels wide and 300 pixels across.
<canvas id="canvas" width="600" height="250"></canvas>
The JavaScript code for this example follows.
var canvas = document.getElementById('canvas'); var ctx = canvas.getContext('2d'); ctx.font = '48px serif'; ctx.fillText('Hello world', 50, 100);
This code obtains a reference to the <canvas>
, then gets a reference to its 2D graphics context.
With that in hand, we set the font
to 48-pixel-tall "serif" (the user's default serif font), then call fillText()
to draw the text "Hello world", starting at the coordinates (50, 100).
Edit the code below and see your changes update live in the canvas:
<canvas id="canvas" width=600 height=250 class="playable-canvas"></canvas> <div class="playable-buttons"> <input id="edit" type="button" value="Edit" /> <input id="reset" type="button" value="Reset" /> </div> <textarea id="code" class="playable-code"> ctx.font = "48px serif"; ctx.fillText("Hello world", 50, 100);</textarea>
var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); var textarea = document.getElementById("code"); var reset = document.getElementById("reset"); var edit = document.getElementById("edit"); var code = textarea.value; function drawCanvas() { ctx.clearRect(0, 0, canvas.width, canvas.height); eval(textarea.value); } reset.addEventListener("click", function() { textarea.value = code; drawCanvas(); }); edit.addEventListener("click", function() { textarea.focus(); }) textarea.addEventListener("input", drawCanvas); window.addEventListener("load", drawCanvas);
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of 'CanvasRenderingContext2D.fillText' in that specification. | Living Standard |
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | 3.5 (1.9.1) | 9 | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | 1.0 (1.9.1) | (Yes) | (Yes) | (Yes) |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/fillText