wordwrapimagewriter

1.0.3 • Public • Published

wordwrapimagewriter

ES6 JS class to write text onto image with word wrapping

Installation

npm install wordwrapimagewriter --save

Usage

Write lines onto an image wrapping and automatically determining
spacing and padding as specified

// Instantiate the writer
var writer = new wordwrapimagewriter({
  imgFilename: './imageToWriteOnto.png',
  availableLines: 3, // your maximum line number you allow
  topPadPx: 50, // spacing from top of image to move down before writing
  lineBottomPadPx: 5, // spacing at bottom of each line
  fontFile: './HelveticaBold.ttf',
});
 
// Call open to asynchronously load image before writing
writer.openImg(() => {
  // The color declarations are from the node-gd package in rgba format
  var usernameColor = writer.img.colorAllocateAlpha(255, 20, 20, 1);
  var textColor = writer.img.colorAllocateAlpha(255, 255, 255, 1);
  var usernameText = "jenk37: ";
  var messageText = "I think that the wordwrapimagewriter is pretty good";
 
  // Write text onto the image. If the text takes more more lines
  // than availableLines, it will return the text that did not fit.
  var textThatWontFit = writer.writeText(usernameText, usernameColor);
 
  if (textThatWontFit) {
    console.log("[!] Text couldn't fit:", textThatWontFit);
  }
 
  // Change font or size. Changing size will automatically update lineLength
  writer.setFontSize(30);
  writer.setFont('./Helvetica.ttf');
 
  textThatWontFit = writer.writeText(messageText, textColor);
 
  if (textThatWontFit) {
    console.log("[!] Text couldn't fit:", textThatWontFit);
  }
 
  // Save the image file
  writer.save("./newImageFilename.png", () => {
    return callback();
  });
});
 
 

Credits

http://c-cfalcon.rhcloud.com

Package Sidebar

Install

npm i wordwrapimagewriter

Weekly Downloads

1

Version

1.0.3

License

none

Last publish

Collaborators

  • falconscript