Security News
The Dark Side of Open Source
At Node Congress, Socket CEO Feross Aboukhadijeh uncovers the darker aspects of open source, where applications that rely heavily on third-party dependencies can be exploited in supply chain attacks.
canvas-multiline-text
Advanced tools
Readme
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.
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.
drawMultilineText(text, context, options)
const canvas = new Canvas(500, 300)
const drawMultilineText = require('canvas-multiline-text')
const fontSizeUsed = drawMultilineText(
canvas.getContext('2d'),
"Please could you stop the noise, I'm trying to get some rest from all the unborn chicken voices in my head. What's that? What's that?",
{
rect: {
x: 10,
y: 10,
width: canvas.width - 20,
height: canvas.height - 20
},
font: 'Merriweather',
verbose: true,
lineHeight: 1.4,
minFontSize: 15,
maxFontSize: 120
)
console.log('Text drawn with font size: ', fontSizeUsed)
The whole options
parameter is optional.
font
- Used font name or font family. Default is sans-serif
.minFontSize
- Min font size for text. Default is 30
.maxFontSize
- Max font size for text. Default is 100
.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 of fillText()
. Default is false
.lineHeight
- Multiplicator for line height. Default is 1.1
.verbose
- If true, greenlock-express will log (see below) the server bootstrap.logFunction
- Custom function for logging, with signature logFunction(message)
. Default is console.log
.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.
FAQs
Draws a text in a rectangle on a canvas, on multiple lines
The npm package canvas-multiline-text receives a total of 50 weekly downloads. As such, canvas-multiline-text popularity was classified as not popular.
We found that canvas-multiline-text demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At Node Congress, Socket CEO Feross Aboukhadijeh uncovers the darker aspects of open source, where applications that rely heavily on third-party dependencies can be exploited in supply chain attacks.
Research
Security News
The Socket Research team found this npm package includes code for collecting sensitive developer information, including your operating system username, Git username, and Git email.
Security News
OpenJS is warning of social engineering takeovers targeting open source projects after receiving a credible attempt on the foundation.