nf-photo-collage
Combines several images into a photo collage.
This is slightly restructured version of original photo-collage repo. It is also using RectangleEquals fork so it is using Canvas v2.
Changes
- Removed header and support for adding text
- Add support for adding image as background
- Add typings (
index.d.ts
)
Installation
yarn add nf-photo-collage
This library depends on node-canvas
(v2), which may require additional setup. See their installation page for details.
Usage
import createCollage from "nf-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 #eeeeee.
backgroundImage: "./localfile.png" // same formats supported as source
spacing: 2, // optional: pixels between each image
};
createCollage(options)
.then((canvas) => {
const src = canvas.jpegStream();
const dest = fs.createWriteStream("myFile");
src.pipe(dest);
});