Доброго времени суток.
Задача состоит в том, чтобы сжимать изображения и в последующим сохранять их.
Погуглив, я нашел оптимальный вариант - пакет
sharp.
Но вот возникла проблема.
Мой код:
sharp()
.withMetadata()
.jpeg({ quality: 50, force: false })
.png({ compressionLevel: 9, force: false })
.webp({ quality: 50, force: false })
.toBuffer();
С jpeg и webp все работает корректно, но вот png вообще не хотят сжиматься. А иногда даже наоборот, после сжатия становятся больше по размеру.
Пробовал с разными опциями, результата нет. Ставил quality: 50 - не работает, в том числе и с palette в true. Но стоит отметить, поставил как-то опцию adaptiveFiltering в true, на несколько килобайт картинки стали весить меньше.
Я так понимаю в целом nodejs не создан для таких задач, как сжимать картинки, но все-же, в чем может быть причина того, что png не сжимаются?