Illustra

Illustra is an object-oriented, document based Node.js image processing toolkit, complete with utility functions to make development a breeze.

src/generate/banner.js

import { Document } from "illustra";

export default async function banner() {

    // Create document
    const document = new Document({
        name: "Banner",
        width: 1500,
        height: 500
    });

    // Add background
    const bg = await document.createLayer({
        name: "background",
        file: "src/assets/background.png"
    });

    // Add logo
    const logo = await document.createLayer({
        name: "logo",
        file: "src/assets/logo.png",
        top: 150,
        left: 300
    });

    // Align logo to center
    logo.align();

    // Export
    await document.exportTo("png", "file", "out/banner.png");
}

Document Based

Illustra is modeled similar to Adobe's Photoshop. This provides a familiar structure that's easy to work with. Illustra uses the concept of Documents and Layers to let you organize your canvas however you need.

Document based

High Level

Illustra comes with plenty of utility functions and high level APIs, like the Layer.align() method to make development easy. Illustra also takes care of simple yet important things, like automatic overflow when overlaying images - something some image processing libraries leave out.

Learn more

Documentation
High level

Clipping Masks

Illustra supports Clipping Masks, allowing you to create a mask to use on another layer. Clipping Masks work the same way they do in Photoshop and can be used to hide parts of another layer.

Illustra also provides utility methods that use Clipping Masks internally, such as the BaseLayer.circularMask() method.

Learn more

Clipping Masks
Clipping masks