@automattic/text-to-picture

1.0.0 • Public • Published

text-to-picture

Easily convert characters to a picture with aligned text.

Pure javascript, no native or external dependencies.

A text input "LS" could look like this:

ls

Quickstart

It's simple.

npm i --save "text-to-picture@npm:@automattic/text-to-picture@latest"

With async/await.

const textToPicture = require('text-to-picture')

const result = await textToPicture.convert({
  text: 'LS'
})

const str = await result.getBase64()

console.log(str) // data:image/png;base64,iVBORw0KGgoA...

// useful for http servers
const buf = await result.getBuffer()
// http response object
response.send(buf) // <Buffer 89 50 4e 47 ...>

With promises.

const textToPicture = require('text-to-picture')

textToPicture.convert({
  text: 'LS'
}).then(result => {
  return result.getBase64()
}).then(str => {
  console.log(str) // data:image/png;base64,iVBORw0KGgoA...
}).catch(err => handle(err))

API

TextToPicture.convert(options: Object)

options:

  • text: String - The text to write. Required.
  • source: String|Object - String to a local file or Object:
    • width: Number - Width of new image. default: 256
    • height: Number - Height of new image. default: 256
    • background: Number - Background in hex. example: 0xFF0000FF, default: black, transparent for pngs
  • size: String - Text size. Can be one of 8, 16, 32, 64, 128. default: 64
  • color: String - Color. Can be 'black or 'white'. default: 'black'
  • ext: String - File type. 'jpeg', 'png' or 'bmp'. default: 'png',
  • quality: String - Image quality between 0 and 100. default: 60
  • customFont: String - Path to .fnt font.

returns: Object

  • getBase64(): Promise - Get base64 data uri
  • getBuffer(): Promise - Get a node buffer (useful for http server)
  • write(path: String): Promise - Write file to given path (with filename & extension)
  • image: Jimp - the image Jimp object for special customisation.

TextToPicture.Jimp

The Jimp class.

Package Sidebar

Install

npm i @automattic/text-to-picture

Weekly Downloads

125

Version

1.0.0

License

MIT

Unpacked Size

6.46 kB

Total Files

7

Last publish

Collaborators

  • porada
  • imranh920
  • gmjuhasz
  • rcarvalho
  • briowill
  • bgrgicak
  • dhenridev
  • daledupreez-a8c
  • jeherve
  • yuliyan
  • micbosia8c
  • jeremy.yip
  • wpvip-bot
  • etobiesen
  • kzoschke
  • brunobasto
  • kat3samsin
  • fmfernandes
  • newspack
  • robertsreberski_a8c
  • msurdi-a8c
  • chihsuan
  • manzoorwanijk
  • rjchow
  • andrea-sdl
  • scjr
  • spsiddarthan
  • t2dw4t
  • ehg_
  • wwa
  • sirreal
  • elazzabi
  • royho
  • luismulinari
  • macbre
  • mjangda
  • matticbot
  • a8c
  • blowery
  • noahtallen
  • hanifn
  • sgomes
  • tyxla
  • saroshaga
  • parkcityj
  • nejclovrencic
  • sirbrillig
  • chriszarate
  • robersongomes
  • johngodley