Image Transformation middleware 📷 #11
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The image transformation middleware performs on-demand image transformations that are useful while consuming user-uploaded images on the web.
It is inspired by tools like Cloudinary and imgix and also leverages the power of existing middlewares in diode for caching, rate-limiting, etc.
Current experimental version of this middleware includes following transformations that can be applied with their respective query param:
w
h
fit
fm
q
colorquant
crop
2nd Aug
blur
sat
bright
cont
prog
11th Sept
mask
...More to be added soon.
Example usage:
This request does the following:
512px
while preserving aspect ratio.50
. This helps with file size reduction by dropping some image quality.webp
, a better file format for serving images on the web.Demo:
screen-capture.mp4
Performance:
Performance tests haven't been done yet. The middleware uses sharp module which internally uses libvips and claims to be really fast when compared to other libraries out there.
Other notable changes: