jimp-dev/jimp

Image size increases on quality reduction

Open

#1,105 opened on Nov 2, 2022

View on GitHub
 (0 comments) (0 reactions) (0 assignees)JavaScript (785 forks)batch import
bugfile size issuehelp wanted

Repository metrics

Stars
 (13,218 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Using jimp's quality method does not give a expected linear result. After passing the quality percentage above the range of 60-65, the image quality increases.

const buffer = * JPEG image buffer *
console.log('Before Compression Size is ', Buffer.byteLength(buffer))
const data = await jimp.read(buffer).then(image => image.quality(65))
buffer = await new Promise((resolve, reject) => {
    data.getBuffer((jimp.MIME_JPEG), (err, buff) => {
        if (err) reject(err)
        console.log('After compression Size is ', Buffer.byteLength(buff))
    })
})

Results in:

Before Compression Size is: 429 
After Compression, Size is 744

Contributor guide