diff --git a/src/serve_rendered.js b/src/serve_rendered.js index a159997..513a042 100644 --- a/src/serve_rendered.js +++ b/src/serve_rendered.js @@ -504,14 +504,23 @@ const respondImage = ( image.composite(composites); } - const formatQuality = (options.formatQuality || {})[format]; + const formatOptions = (options.formatOptions || {})[format] || {}; if (format === 'png') { - image.png({ adaptiveFiltering: false }); + image.png({ + progressive: formatOptions.progressive, + compressionLevel: formatOptions.compressionLevel, + adaptiveFiltering: formatOptions.adaptiveFiltering, + palette: formatOptions.palette, + quality: formatOptions.quality, + effort: formatOptions.effort, + colors: formatOptions.colors, + dither: formatOptions.dither, + }); } else if (format === 'jpeg') { - image.jpeg({ quality: formatQuality || 80 }); + image.jpeg({ quality: formatOptions.quality || 80 }); } else if (format === 'webp') { - image.webp({ quality: formatQuality || 90 }); + image.webp({ quality: formatOptions.quality || 90 }); } image.toBuffer((err, buffer, info) => { if (!buffer) {