JSPM

photo-collage

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3
  • Score
    100M100P100Q49354F
  • License ISC

Turns an array of images into a photo collage

Package Exports

  • photo-collage

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (photo-collage) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

photo-collage

Combines several images into a photo collage.

Example

Source files

Source file 1 Source file 2 Source file 3 Source file 4 Source file 5 Source file 6

Result

Result

Installation

npm install --save photo-collage

This library depends on node-canvas, which may require additional setup. See their installation page for details.

Usage

The following example creates a 2x3 collage from a variety of image sources.

const createCollage = require("photo-collage");

const options = {
  sources: [
    imageBufferObject, // source can be a buffer of jpg/png data
    canvasObject, // source can be a canvas object
    "http://myurl.com/image.jpg", // source can be a url string
    "https://myurl.com/image.jpg", // https/ftp is ok too.
    "./localfile.png", // source can be a relative file path
    "~/photos/file.png" // source can be an absolute file path
  ],
  width: 3, // number of images per row
  height: 2, // number of images per column
  imageWidth: 350, // width of each image
  imageHeight: 250, // height of each image
  backgroundColor: "#cccccc", // optional, defaults to black.
  spacing: 2, // optional: pixels between each image
};

createCollage(options)
  .then((canvas) => {
    const src = canvas.jpegStream();
    const dest = fs.createWriteStream("myFile");
    src.pipe(dest);
  });