awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
aheckmann avatar

aheckmann/gm

0
View on GitHub↗
6,980 stars·622 forks·JavaScript·24 views

Gm

gm is a JavaScript image processing library and Node.js manipulation tool that serves as a programmatic wrapper for the GraphicsMagick engine. It translates JavaScript method calls into shell commands to automate the resizing, cropping, and transformation of images.

The library provides an interface to execute specific GraphicsMagick operations while allowing raw command passthrough for custom arguments or engine features not covered by the standard API.

Its capabilities cover geometric manipulation, color and tone adjustment, and image quality optimization. It includes tools for image compositing, montage creation, and drawing graphics or text, as well as utilities for metadata extraction and image comparison for visual regression testing. Data can be handled via buffers, streams, or remote URLs.

Features

  • Binary Wrappers - Acts as a programmatic JavaScript wrapper around the GraphicsMagick command-line engine.
  • Command Line Tool Integrations - Acts as a programmatic wrapper that translates JavaScript calls into GraphicsMagick shell commands.
  • Image Data Streams - Enables passing image data between the host and the processing engine using Node.js streams.
  • Image Processing - Offers a programmable API for loading, filtering, and manipulating images without requiring direct CLI usage.
  • Image Processing and Manipulation - Provides comprehensive tools for resizing, cropping, and rotating images to alter their dimensions and orientation.
  • In-Memory Image Buffers - Manages raw binary image data in memory buffers to avoid frequent and slow disk I/O during processing.
  • Image Transformation Utilities - Provides tools for resizing, rotating, cropping, and adjusting colors within automated server-side pipelines.
  • Node.js Image Processing - Provides a comprehensive image processing library specifically designed for the Node.js runtime.
  • Programmatic Command Wrappers - Maps GraphicsMagick system command arguments and streams to native JavaScript functions and objects.
  • Asynchronous Process Wrappers - Implements non-blocking wrappers for external GraphicsMagick binaries to maintain Node.js event loop responsiveness.
  • Custom Command Execution - Provides the capability to run arbitrary GraphicsMagick commands through the library interface.
  • Asynchronous Image Streaming - Handles image data as readable and writable streams or buffers for efficient processing pipelines.
  • Shape Drawing - Provides primitives for drawing shapes, lines, and annotated text onto existing images or new canvases.
  • Image Composition - Provides capabilities to overlay images using masking and specific geometric positioning for combined visual effects.
  • Image Optimization Tools - Implements image clarity improvements through despeckling, histogram equalization, and anti-aliasing.
  • Image Appenders - Implements tools for stacking and merging multiple images into a single canvas horizontally or vertically.
  • Image Encoders - Allows configuration of technical output specifications including compression types, bit depth, density, and interlacing.
  • Image Filters - Implements artistic and technical filters including blurring, embossing, and edge emphasis.
  • Image Metadata Extraction - Retrieves technical specifications such as dimensions, format, resolution, and color depth from images.
  • Metadata Modification - Supports extracting and modifying technical properties, EXIF data, and color profiles using GraphicsMagick.
  • Raw Engine Command Passthroughs - Allows raw arguments to be passed directly to the underlying engine for unsupported or custom operations.
  • Image Comparison Utilities - Provides utilities for analyzing and diffing visual assets to detect pixel-level changes.
  • Visual Regression Testing - Implements image comparison to detect pixel-level differences and generate diff maps for visual consistency.
  • Tone and Color Adjustments - Modifies color spaces and controls dithering to change the visual tone of an image.
  • Engine Argument Extensions - Allows raw input and output arguments to be passed directly to the underlying image engine.
  • Montage Generators - Offers automated generation of composite layouts and montages by arranging multiple images side by side.
  • Dynamic Image Generation - Enables programmatic generation of images by drawing shapes, adding text, and compositing assets.
  • Asset Optimization - Provides GraphicsMagick and ImageMagick bindings for Node.js.
  • Image Processing - Wrapper for GraphicsMagick and ImageMagick.

Star history

Star history chart for aheckmann/gmStar history chart for aheckmann/gm

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does aheckmann/gm do?

gm is a JavaScript image processing library and Node.js manipulation tool that serves as a programmatic wrapper for the GraphicsMagick engine. It translates JavaScript method calls into shell commands to automate the resizing, cropping, and transformation of images.

What are the main features of aheckmann/gm?

The main features of aheckmann/gm are: Binary Wrappers, Command Line Tool Integrations, Image Data Streams, Image Processing, Image Processing and Manipulation, In-Memory Image Buffers, Image Transformation Utilities, Node.js Image Processing.

Which projects share features with aheckmann/gm?

Projects with overlapping indexed features include: sixlabors/imagesharp — ImageSharp is a .NET image processing library and manipulation framework used for decoding, encoding, and modifying… lovell/sharp — Sharp is a high-performance image processing library for Node.js. It serves as a native extension and wrapper for the… oliver-moran/jimp — Jimp is a JavaScript image processing library and Node.js manipulation tool designed to perform image transformations… jimp-dev/jimp — Jimp is a zero-dependency JavaScript image processing library and programmatic editor designed for manipulating,… mapbox/pixelmatch — pixelmatch is a JavaScript image comparison library and pixel-level difference detector. It identifies mismatched… wasabeef/android-gpuimage — android-gpuimage is an OpenGL image processing library for Android that provides a GPU-powered framework for applying…

Projects sharing features with Gm

These projects share indexed features with Gm. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • sixlabors/imagesharpSixLabors avatar

    SixLabors/ImageSharp

    7,954View on GitHub↗

    ImageSharp is a .NET image processing library and manipulation framework used for decoding, encoding, and modifying digital images. It functions as a comprehensive toolkit for resizing, cropping, and applying pixel-level filters while managing color profiles and pixel data across various file formats. The project integrates a 2D vector graphics engine and a typography rendering engine to draw geometric shapes, paths, and complex stylized text onto images. It also includes a geometry boolean operation library for calculating intersections, unions, and differences between complex polygons and c

    C#bmpc-sharpdrawing
    View on GitHub↗7,954
  • lovell/sharplovell avatar

    lovell/sharp

    32,340View on GitHub↗

    Sharp is a high-performance image processing library for Node.js. It serves as a native extension and wrapper for the libvips framework, providing tools for image resizing, format conversion, and programmatic data manipulation. The project enables the transformation of images into web-friendly formats such as WebP and AVIF while preserving color profiles and alpha channels. It also provides capabilities for generating blank image buffers with specified dimensions and background colors. The library covers a broad range of image manipulation utilities, including rotation, extraction, compositi

    JavaScriptavifcropexif
    View on GitHub↗32,340
  • oliver-moran/jimpoliver-moran avatar

    oliver-moran/jimp

    14,621View on GitHub↗

    Jimp is a JavaScript image processing library and Node.js manipulation tool designed to perform image transformations and edits entirely within a JavaScript environment. It is a zero-dependency image library that operates without requiring native binaries or external system software dependencies. The project provides a programmatic interface for automated image transformations, including resizing, cropping, and filtering. It supports the creation of custom image pipelines and server-side image editing by processing data without relying on native system tools.

    TypeScript
    View on GitHub↗14,621
  • jimp-dev/jimpjimp-dev avatar

    jimp-dev/jimp

    14,621View on GitHub↗

    Jimp is a zero-dependency JavaScript image processing library and programmatic editor designed for manipulating, resizing, and filtering images in Node.js. It functions as a multi-format image encoder and extensible pipeline that operates entirely in JavaScript to ensure portable deployment across different environments without requiring native system dependencies. The engine features a modular architecture that allows for custom image processor builds and the registration of custom processing plugins. This extensibility enables the addition of specific visual effects and custom file-type enc

    TypeScript
    View on GitHub↗14,621
Compare all 30 related projects→