join-images-sharp
v1.0.1
Published
Join (composite) images together automatically
Downloads
4
Readme
join-images-sharp
Join (composite) images together automatically
+
Motivation
Needed a compact, but configurable image join utility, which I decided to open source as I like the code so much
Installation
npm i join-images-sharp
or
pnpm add join-images-sharp
or
yarn add join-images-sharp
Usage
import { joinImages } from "join-images-sharp";
// or
const { joinImages } = require("join-images-sharp");
// If using Typescript
import { joinImages, JoinImageDirection, JoinImageOptions } from "join-images-sharp";
// or
const { joinImages, JoinImageDirection, JoinImageOptions } = require("join-images-sharp");
await joinImages([
'test-images/landscape-1.png',
'test-images/landscape-2.png',
], 'test-images-output/output.png');
Image formats can be JPEG, PNG, WebP, AVIF, GIF, SVG or TIFF and can be mixed and matched, eg, you can input 1 image as gif, another as jpeg and output in png.
By default, the images will join along the longest edge (as determined by isVertical = maxWidth > maxHeight
), where max* is from the biggest image
You can join along the shortest edge by setting options.direction
to auto-reverse
, or use vertical
or horizontal
to set the direction manually:
await joinImages([
'test-images/landscape-1.png',
'test-images/landscape-2.png',
], 'test-images-output/output.png', { direction: JoinImageDirection.AutoReverse }); // or 'auto-reverse'
// or JoinImageDirection.Vertical or 'vertical'
// or JoinImageDirection.Horizontal or 'horizontal'
You can set the background color to use for any blank areas. Defaults to transparent for supporting formats (png, webp, etc), or white for other formats (jpeg, etc):
await joinImages([
'test-images/landscape-1.png',
'test-images/landscape-2.png',
], 'test-images-output/output.png', { background: { alpha: 0, b: 255, g: 255, r: 255 } });
// or hex
], 'test-images-output/output.png', { background: '#00FF00' });
API
| Option | Type | Description |
|----------------------|----------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| input
| string[]
| Array of image paths to join |
| output
| string
| Output path to save composited image |
| options.direction
| string
| JoinImageDirection
| Direction in which to join the images. Defaults to auto
. JoinImageDirection.Auto
| auto
> Join along the longest edges JoinImageDirection.AutoReverse
| auto-reverse
> Join along the shortest edges JoinImageDirection.Vertical
| vertical
> Stack images vertically JoinImageDirection.Horizontal
| horizontal
> Stack images horizontally |
| options.background
| string
or { alpha: number, b: number, g: number, r: number }
| Background color to use for blank areas. Defaults to transparent for supporting formats (png, webp, etc), or white for other formats (jpeg, etc) Hex string or a rgba object |
Licence
Author(s)
- David Wakelin (https://davidwakelin.co.uk)