Skip to content

jimp-dev/jimp

Repository files navigation

Jimp

JavaScript Image Manipulation Program

An image processing library for Node written entirely in JavaScript, with zero native dependencies

Notice of potentially breaking change

As of v0.10.4, core-js is no longer included with jimp or its extensions. If you rely on core-js, install it with either yarn add core-js or npm i core-js

Read before installing

Please be aware that Jimp is built on JavaScript implementations of image formats so in some cases that might allocate a lot of memory before using.

Installation

Installation: npm install --save jimp

API documentation can be found in the main jimp package

Supported Image Types

Image Manipulation Methods (Default Plugins)

  • blit - Blit an image onto another.
  • blur - Quickly blur an image.
  • color - Various color manipulation methods.
  • contain - Contain an image within a height and width.
  • cover - Scale the image to the given width and height keeping the aspect ratio.
  • displace - Displaces the image based on a displacement map
  • dither - Apply a dither effect to an image.
  • flip - Flip an image along its x or y axis.
  • gaussian - Hardcore blur.
  • invert - Invert an images colors
  • mask - Mask one image with another.
  • normalize - Normalize the colors in an image
  • print - Print text onto an image
  • resize - Resize an image.
  • rotate - Rotate an image.
  • scale - Uniformly scales the image by a factor.

Extra Plugins

  • circle - Creates a circle out of an image.
  • shadow - Creates a shadow on an image.
  • fisheye - Apply a fisheye effect to an image.
  • threshold - Lighten an image. Good for scanned drawing and signatures.

πŸš€ If you want to add your plugins to this list make a PR! πŸš€

Custom Jimp

If you want to extend jimp or omit types or functions visit @jimp/custom.

  • Add file-types or switch encoder/decoders
  • Add add/remove plugins (image manipulation methods)

Contributing

Basically clone, change, test, push and pull request.

Please read the CONTRIBUTING documentation.

License

Jimp is licensed under the MIT license. Open Sans is licensed under the Apache license

Project Using Jimp

⭐ nimp - Node based image manipulator. Procedurally create and edit images.

⭐ node-vibrant - Extract prominent colors from an image.

⭐ lqip - Low Quality Image Placeholders (LQIP) Module for Node

⭐ webpack-pwa-manifest - A webpack plugin that generates a 'manifest.json' for your Progressive Web Application, with auto icon resizing and fingerprinting support.

⭐ wdio-screenshot - A WebdriverIO plugin. Additional commands for taking screenshots with WebdriverIO.

⭐ asciify-image - Convert images to ASCII art

⭐ node-sprite-generator - Generates image sprites and their spritesheets (css, stylus, sass, scss or less) from sets of images. Supports retina sprites.

⭐ merge-img - Merge multiple images into a single image

⭐ postcss-resemble-image - Provide a gradient fallback for an image that loosely resembles the original.

⭐ differencify - Perceptual diffing tool

⭐ gifwrap - A Jimp-compatible library for working with GIFs

⭐ replace-color - Replace color with another one pixel by pixel

⭐ handwritten.js - Convert typed text to realistic handwriting!

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Andrew Lisowski

πŸ’» πŸš‡ πŸ“– ⚠️

Oliver Moran

πŸ’»

strandedcity

πŸ’»

Edgar Hipp

πŸ’»

Corbin Crutchley

πŸ’»

Max G J Panas

πŸ’»

Michael Vogt

πŸ’»

Marcolino

πŸ’»

iwsfg

πŸ’»

arlecchino

πŸ’»

super-ienien

πŸ’»

Bennett Somerville

πŸ’»

Florian Barth

πŸ’»

Adam Rackis

πŸ’»

AurΓ©lio A. Heckert

πŸ’»

Daniel Tian

πŸ’»

Jeff Bonnes

πŸ’»

Russley Shaw

πŸ’»

CodeLenny

πŸ’»

Sebastian SkaΕ‚acki

πŸ’»

Turan Rustamli

πŸ’»

Vlad Turak

πŸ’»

ozelot379

πŸ’»

Adam Jones

πŸ’»

Ahmad Awais ⚑️

πŸ’»

Andrei Picus

πŸ’»

Andy Chou

πŸ’»

Arjun Khoosal

πŸ’»

Arman

πŸ’»

Autom3

πŸ’»

Bernardo Farah

πŸ’»

Boon

πŸ’»

BrianRosamilia

πŸ’»

Carter Bancroft

πŸ’»

Chad Banfield

πŸ’»

Charaf Salmi

πŸ’»

ciffelia

πŸ’»

Cody Schrank

πŸ’»

Cru Scanlan

πŸ’»

Curtis Autery

πŸ’»

Dan

πŸ’»

Daniel Holmes

πŸ’» ⚠️

Daniel Tschinder

πŸ’»

Daniel Kimani

πŸ’»

Dara Kong

πŸ’»

Denis Bendrikov

πŸ’»

Dennis Bartlett

πŸ’»

Dominique Rau

πŸ’»

Eirik Birkeland

πŸ’»

Emily Marigold Klassen

πŸ’»

Emmanuel Bourgerie

πŸ’»

Endre Szabo

πŸ’»

Eric Rabil

πŸ’»

Gal Horowitz

πŸ’»

GlitchyPSI

πŸ’»

Gustavo Ramos Rehermann

πŸ’»

Han Kruiger

πŸ’»

Igor Borges

πŸ’»

Ivan Ganev

πŸ’»

Ivan Koprda

πŸ’»

iwasawafag

πŸ’»

Jake Champion

πŸ’»

James Harris

πŸ’»

James Ross

πŸ’»

Jeremy Katz

πŸ’»

Jeroen Claassens

πŸ’»

Johannes Goslar

πŸ’»

J D Carmichael

πŸ’»

John-Robert YrjΓΆlΓ€

πŸ’»

Jordan Danford

πŸ’»

Joseph

πŸ’»

Keith

πŸ’»

Keith Mitchell

πŸ’»

Kwyn Alice Meagher

πŸ’»

Lucy

πŸ’»

Marat Nagayev

πŸ’»

Marcel Mundl

πŸ’»

Mario Adrian

πŸ’»

Martin TrobΓ€ck

πŸ’»

Matt Mc

πŸ’»

Max

πŸ’»

MaΓ«l Nison

πŸ’»

Michael Elhadad

πŸ’»

Milos Bejda

πŸ’»

Mithgol

πŸ’»

Nicolas Giard

πŸ’»

Nam Bok Rodriguez

πŸ’»

Nate Cavanaugh

πŸ’»

Nik

πŸ’»

Olly Banham

πŸ’»

Pasi Eronen

πŸ’»

Pavel Volyntsev

πŸ’»

Peter Theill

πŸ’»

Philip Hannent

πŸ’»

Philipp Laube

πŸ’»

Rahil Kabani

πŸ’»

Rob Moore

πŸ’»

Ruben Bridgewater

πŸ’»

Sam Broner

πŸ’»

Sam MacPherson

πŸ’»

Sander Weyens

πŸ’»

Shen Yiming

πŸ’»

Stefan Lau

πŸ’»

Steve Bazyl

πŸ’»

Steve Mao

πŸ’»

Stuart Hinson

πŸ’»

Tom Bull

πŸ’»

TonyStr

πŸ’»

Laurent

πŸ’»

Vincent Dufrasnes

πŸ’»

Vladimir Starkov

πŸ’»

VojtΔ›ch Ε tΔ›pančík

πŸ’»

William Friesen

πŸ’»

Xiliang Chen

πŸ’»

Yonggang Luo

πŸ’»

austinfrey

πŸ’»

brownrw8

πŸ’»

Eliott C.

πŸ’»

d07RiV

πŸ’»

fabb

πŸ’»

fratzinger

πŸ’»

Guillem Cruz

πŸ’»

krudos

πŸ’»

mLuby

πŸ’»

mfuatnuroglu

πŸ’»

Matt Misbach

πŸ’»

netdown

πŸ’»

nopeless

πŸ’»

Oz Weiss

πŸ’»

popinguy

πŸ’»

qw3n

πŸ’»

rifflock

πŸ’»

s4tori

πŸ’»

sertal70

πŸ’»

xinbenlv

πŸ’»

xinnix

πŸ’»

彭君怑

πŸ’»

Andrey Kutejko

πŸ“–

Ihor Bodnarchuk

πŸ“–

Daniell

πŸ’»

MD KHAIRUL ISLAM

⚠️ πŸ’»

JunkMeal

πŸ“–

Nicolas Morel

πŸ’»

Zach Stevenson

πŸ’»

AnotherPillow

πŸ“–

Dathan

πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!