Rudimentary image manipulation framework.
Some things may or may not work correctly.
Check examples directory for short demonstration.
To have some boilerplate for recreational programming with images.
Manipulate. Images.
diffimg - image diffing tool and library.
blurhash - blurhash algorith implementation.
nimble install imageman
- Activated with
imagemanLibjpegflag. Enabled by default. - SIMD accelerated JPEG encoder/decoder.
- Dynamically linked. Requires dll/so/dylib at runtime.
- 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.
- 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.
- Easy manipulation of individual pixel components
- Image reading/writing
- PNG using
libpng - JPG using
libjpeg(-turbo) - BMP
- TGA
- PNG using
- Color modes
-
ColorRGBU- 8bit uint 3 components -
ColorRGBAU- 8bit uint 4 components -
ColorRGBF- 32bit float 3 components -
ColorRGBAF- 32bit float 4 components -
ColorRGBF64- 64bit float 3 components -
ColorRGBAF64- 64bit float 4 components -
ColorHSL- 32bit float -
ColorHSLuv- 64bit float, perceptually uniform, unlike normal HSL -
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.
-
- Filtering
- General convolutional kernel routine
- Smoothing
- Sharpening
- Edge detection
- Blur
- Greyscale
- Negative
- Sepia
- Quantization
- General convolutional kernel routine
- Dithering
- Some kernels
- Resizing
- Nearest neighbour
- Bilinear
- Trilinear
- Bicubic
- Lanczos
- Catmull-Rom
- Cubic Hermite
- Drawing
- Line
- Circle
- Ellipse
- Bezier curve
- Rotating
- Vertically, Horizontally
- Radial
- Documentation
See examples directory.