You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The default behaviour of libvips is to cache input files, which can lead to EBUSY or EPERM errors on Windows.
Use sharp.cache(false) to switch this feature off.
Adding sharp.cache(false) does not fix this problem.
Does this problem relate to images appearing to have been rotated by 90 degrees?
Images that contain EXIF Orientation metadata are not auto-oriented. By default, EXIF metadata is removed.
To auto-orient pixel values use the parameter-less rotate() operation.
The input image contains a lot of metadata, including 13986627 bytes of an Adobe-specific binary tag.
$ exiftool input.png
...
Raw Profile Type Tiff 37724 : (Binary data 13986627 bytes, use -b option to extract)
...
These get handled internally by libvips as PNG "comments". However there was a bug in libvips 8.15 that fails to remove these and then re-encodes from binary to text, making the file size larger.
This was reported in libvips/libvips#4224 and fixed in libvips/libvips#4225 and the prebuilt libvips binaries provided by the future sharp v0.34.0 will introduce the fix.
lovell
changed the title
PNG resized and reduced quality unexpectedly increased size
PNG with Adobe-specific binary metadata unexpectedly increased size
Feb 14, 2025
Possible bug
Is this a possible bug in a feature of sharp, unrelated to installation?
npm install sharp
completes without error.node -e "require('sharp')"
completes without error.If you cannot confirm both of these, please open an installation issue instead.
Are you using the latest version of sharp?
sharp
as reported bynpm view sharp dist-tags.latest
.If you cannot confirm this, please upgrade to the latest version and try again before opening an issue.
If you are using another package which depends on a version of
sharp
that is not the latest, please open an issue against that package instead.What is the output of running
npx envinfo --binaries --system --npmPackages=sharp --npmGlobalPackages=sharp
?Does this problem relate to file caching?
The default behaviour of libvips is to cache input files, which can lead to
EBUSY
orEPERM
errors on Windows.Use
sharp.cache(false)
to switch this feature off.sharp.cache(false)
does not fix this problem.Does this problem relate to images appearing to have been rotated by 90 degrees?
Images that contain EXIF Orientation metadata are not auto-oriented. By default, EXIF metadata is removed.
To auto-orient pixel values use the parameter-less
rotate()
operation.To retain EXIF Orientation use
keepExif()
.Using
rotate()
orkeepExif()
does not fix this problem.What are the steps to reproduce?
What is the expected behaviour?
Expected output to be smaller than input
Please provide a minimal, standalone code sample, without other dependencies, that demonstrates this problem
Please provide sample image(s) that help explain this problem
https://png-sharp.vercel.app/input.png
The text was updated successfully, but these errors were encountered: