2.3.3 • Published 2 years ago

@thatiemsz/text2png v2.3.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

NPM npm version

text2png: text-to-png generator for Node.js

text2png('Create png image\nfrom multi-line text!');

text2png

Quick start

text2png depends on @napi-rs/canvas.

$ npm install @thatiemsz/text2png
const { writeFile } = require('fs/promises');
const text2png = require('@thatiemsz/text2png');
await writeFile('out.png', text2png('Hello!', { color: 'blue' }));

Option

text2png(text, option)

paramdefault
text(required)
option.font'30px sans-serif'
option.textAlign'left'
option.color (or option.textColor)'black'
option.backgroundColor (or option.bgColor)'transparent'
option.lineSpacing0
option.strokeWidth0
option.strokeColor'white'
option.padding0
option.padding(Left|Top|Right|Bottom)0
option.borderWidth0
option.border(Left|Top|Right|Bottom)Width0
option.borderColor'black'
option.localFontPath
option.localFontName
option.output'buffer'

option.color = '#000' | 'rgb(0, 0, 0)' | 'black' | ...

option.output = 'buffer' | 'stream' | 'dataURL' | 'canvas'

option.strokeWidth = 1 | 2 | ... A padding may have to be set to avoid cutoff of stroke

'canvas' returns canvas object.

If you want to use any custom fonts without installing, use localFontPath and localFontName property.

text2png('with custom fonts', {
  font: '50px Lobster',
  localFontPath: 'fonts/Lobstar-Regular.ttf',
  localFontName: 'Lobster'
});

Command line interface

$ npm install -g @thatiemsz/text2png
$ text2png --help
$ text2png -t "Hello!" -o "output.png"

Example

text2png('Example\nText', {
  font: '80px Futura',
  color: 'teal',
  backgroundColor: 'linen',
  lineSpacing: 10,
  padding: 20
});

ExampleText

Enjoy!