1
0
mirror of https://github.com/imgproxy/imgproxy.git synced 2024-11-29 08:22:11 +02:00
imgproxy/docs/about_processing_pipeline.md
2018-10-26 02:00:19 +06:00

17 lines
1.0 KiB
Markdown

# About the processing pipeline
imgproxy has a specific processing pipeline tuned for maximum performance. When you process an image with imgproxy, it does the following:
* If the source image format allows shrink-on-load, imgproxy uses it to quickly resize the image to the size that is closest to desired;
* If it is needed to resize an image with an alpha-channel, imgproxy premultiplies one to handle alpha correctly;
* imgproxy resizes the image to the desired size;
* If the image colorspace need to be fixed, imgproxy fixes it;
* imgproxy rotates/flip the image according to EXIF metadata;
* imgproxy crops the image using specified gravity;
* imgproxy fills the image background if the background color was specified;
* imgproxy applies gaussian blur and sharpen filters;
* imgproxy adds watermark if one was specified;
* And finally, imgproxy saves the image to the desired format.
This pipeline with using sequential access to source image data allows to significantly reduce memory and CPU usage — one of the reasons imgproxy is so performant.