canvas-multiline-text
Draws a text in a rectangle on a canvas, on multiple lines.
It was conceived to be used on Node.js with Automattic's implementation of Canvas node-canvas
, but it should work in browsers too.
Initialy developed for ISBOBackend.
Usage
This module exports a single function that draws a text on a canvas' 2d context, breaking it in multiple lines if necessary.
The function also returns the used font size for drawing text.
Example
const canvas = 500 300const drawMultilineText = const fontSizeUsed =
Options
The whole options
parameter is optional.
font
- Used font name or font family. Default issans-serif
.minFontSize
- Min font size for text. Default is30
.maxFontSize
- Max font size for text. Default is100
.rect
- Area for text. Default is{ x: 0, y: 0, width: ctx.canvas.width, height: ctx.canvas.height }
.stroke
- If true,strokeText()
wil be used instead offillText()
. Default isfalse
.lineHeight
- Multiplicator for line height. Default is1.1
.verbose
- If true, greenlock-express will log (see below) the server bootstrap.logFunction
- Custom function for logging, with signaturelogFunction(message)
. Default isconsole.log
.
Dependencies
This module require some kind of Canvas object, so in Node.js you'll need to have node-canvas
installed, even if it's not in this module's dependencies list.