jimp-dev/jimp

Image size increases on quality reduction

Open

#1105 opened on Nov 2, 2022

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

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