imageman
Image manipulation library
Summary
| Latest Version | Unknown |
|---|---|
| License | MIT |
| CI Status | Passing |
| Downloads | 0 |
| Last Indexed | 2026-07-21 05:24 |
Tags
Installation
nimble install imageman
choosenim install imageman
git clone https://github.com/SolitudeSF/imageman
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| imageman | ✓ | ✓ | ✓ | - | - | - | - | - | - | ✓ |
Source
| Repository | https://github.com/SolitudeSF/imageman |
|---|---|
| Homepage | https://github.com/SolitudeSF/imageman |
| Documentation | View Documentation |
| Registry Source | nimble_official |
README
Imageman
Rudimentary image manipulation framework.
Some things may or may not work correctly.
Check examples directory for short demonstration.
Why
~~To have some boilerplate for recreational programming with images.~~ Manipulate. Images.
Projects using imageman
diffimg - image diffing tool and library.
blurhash - blurhash algorith implementation.
Installation
nimble install imageman
Backends
libjpeg(-turbo)
- Activated with
imagemanLibjpegflag. Enabled by default. - SIMD accelerated JPEG encoder/decoder.
- Dynamically linked. Requires dll/so/dylib at runtime.
libpng
- Activated with
imagemanLibpngflag. Enabled by default. - Fast PNG encoder/decoder (outperforms
stb_image). - Dynamically linked. Requires dll/so/dylib of itself and zlib at runtime.
stb_image
- Activated with
imagemanStbflag. By default only enabled if libjpeg and libpng are disabled. - Supports reading and writing PNG, JPEG, BMP and TGA images but with limited control.
- Header only - compiled in.
Features
- Easy manipulation of individual pixel components
- Image reading/writing
- [x] PNG using
libpng - [X] JPG using
libjpeg(-turbo) - [x] BMP
- [x] TGA
- [x] PNG using
- Color modes
- [x]
ColorRGBU- 8bit uint 3 components - [x]
ColorRGBAU- 8bit uint 4 components - [x]
ColorRGBF- 32bit float 3 components - [x]
ColorRGBAF- 32bit float 4 components - [x]
ColorRGBF64- 64bit float 3 components - [x]
ColorRGBAF64- 64bit float 4 components - [x]
ColorHSL- 32bit float - [x]
ColorHSLuv- 64bit float, perceptually uniform, unlike normal HSL - [x]
ColorHPLuv- 64bit float RGB float components have valid range from 0 to 1. Hue range is 0..360. Saturation/Lightness range from 0 to 1.
- [x]
- Filtering
- [x] General convolutional kernel routine
- [x] Smoothing
- [x] Sharpening
- [x] Edge detection
- [x] Blur
- [x] Greyscale
- [x] Negative
- [x] Sepia
- [x] Quantization
- [x] General convolutional kernel routine
- Dithering
- [x] Some kernels
- Resizing
- [x] Nearest neighbour
- [x] Bilinear
- [x] Trilinear
- [x] Bicubic
- [ ] Lanczos
- [ ] Catmull-Rom
- [ ] Cubic Hermite
- Drawing
- [x] Line
- [x] Circle
- [ ] Ellipse
- [ ] Bezier curve
- Rotating
- [x] Vertically, Horizontally
- [ ] Radial
- Documentation
Examples
See examples directory.