Skip to content

Conversation

@Tofandel
Copy link

@Tofandel Tofandel commented Oct 30, 2025

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

@Tofandel Tofandel requested a review from pi0 as a code owner October 30, 2025 15:16
@Tofandel Tofandel force-pushed the main branch 2 times, most recently from 58c7e57 to 813215d Compare October 30, 2025 15:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fit contain from SVG to any format results in size being the smallest viewbox of the svg instead of the desired size

1 participant