Warning
This Project is a work in progress and is not suitable to be used at this moment.
The Processing algorithms are far from optimal and will undergo massive Improvements.
Star the repository for progress updates.
| Docs | Usage | References |
Nano Image Server is a tiny, blazingly fast service to serve images with support for image operation on fly.
It is truly asynchronous, Memory safe and thread safe. Built upon axum and tokio runtime. The image processing, encoding and decoding are done by the image crate. GPU support and caching are planned before the stable release.
- Low latency Image delivery
- Caching and Instant Retrieval
- Support for Linux and Windows
- Basic image operations on fly via url queries
- Place Images you need in images folder next to the executable
- Start the server
./nano_image_server #Linux
start nano_image_server.exe #Windows
- Access the server from port 8000 in localhost.
- To get image go to
/<imagename>.<format>
Algorithm | Description | Query |
---|---|---|
Nearest | Simplest method, nearest neighbor interpolation | resfilter=nearest |
Triangle | Linear interpolation, moderate quality scaling | resfilter=triangle |
Catmull-Rom | Cubic interpolation, preserves image details | resfilter=catmullrom |
Gaussian | Soft, smooth scaling, reduces sharpness | resfilter=gaussian |
Lanczos | High-quality resampling, preserves details | resfilter=lanczos |
Optimal | Automatically selects best algorithm | resfilter=optimal |
Filter | Description | Query | f_param (argument) |
---|---|---|---|
Blur | Reduces image sharpness, softens details | filter=blur | Yes |
Grayscale | Converts image to black and white | filter=bw | No |
Brighten | Increases overall image luminosity | filter=brighten | Yes |
Contrast | Enhances difference between light and dark areas | filter=contrast | Yes |
Transform | Description | Query | t_param (argument) |
---|---|---|---|
Flip Horizontal | Mirrors image vertically | transform=fliph | No |
Flip Vertical | Mirrors image horizontally | transform=flipv | No |
Rotate | Rotation at 90°, 180°, 270° angles | transform=rotate | Yes |
Hue Rotate | Shifts color spectrum | transform=huerotate | Yes |
Processing | Description | Query | p1 (argument) | p2 (argument) |
---|---|---|---|---|
Invert | Reverses image colors, creating a negative effect | process=invert | no | no |
Unsharpen | Enhances image details by reducing blur | process=unsharpen | yes | yes |
Processing | Description | Query |
---|---|---|
Conversion | Convert image to different format | to=[img_format] |
The following formats are supported via encoders and decoders from the Image-rs Library
Format | Decoding | Encoding |
---|---|---|
AVIF | Yes* | Yes(lossy only) |
BMP | Yes | Yes |
Farbfeld | Yes | Yes |
GIF | Yes | Yes |
HDR | Yes | Yes |
ICO | Yes | Yes |
JPEG | Yes | Yes |
EXR | Yes | Yes |
PNG | Yes | Yes |
PNM | Yes | Yes |
QOI | Yes | Yes |
TGA | Yes | Yes |
TIFF | Yes | Yes |
WebP | Yes | Yes(lossless only) |