Fix clamping for different fit than cover and don't clamp SVGs by def… #281
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.
Fixes nuxt/image#1997
Clamping logic was wrong for fit="contain" (and fill, inside), if you had a 211x40 image, and requested a 173x173 in fit contain, the original image would absolutely have fitted in 173x173 without upscaling and wouldn't have needed clamping but right now it would return 40x40
I also prevent clamping of all svg files by default unless specifically wanted with enlarge=false, the reason is because SVGs can upscale to any size without pixelation issue. And if you have a SVG with a small viewport (eg 8x8) even though it would have rendered fine in 512x512, it would otherwise not be upscaled unless explicit enlarge=true, this is a problem when converting images from svg to another format like webp