0
我正在研究一個攝影社交媒體網站,我正在爲每個圖像生成縮略圖。這些圖像在頁面上顯示的尺寸相當大,因此質量不會降低太多(例如www.prsmphoto.com/user/tyler)。使用LWIP在NodeJS中生成縮略圖
目前我用的是: image.scale(.15);
哪一個可以降低文件大小的體面工作。但是,這破壞了看起來很可怕的較小圖像的質量。我應該如何處理這個問題?我有困難纏繞它。
我正在研究一個攝影社交媒體網站,我正在爲每個圖像生成縮略圖。這些圖像在頁面上顯示的尺寸相當大,因此質量不會降低太多(例如www.prsmphoto.com/user/tyler)。使用LWIP在NodeJS中生成縮略圖
目前我用的是: image.scale(.15);
哪一個可以降低文件大小的體面工作。但是,這破壞了看起來很可怕的較小圖像的質量。我應該如何處理這個問題?我有困難纏繞它。
嘗試使用銳利或畫布模塊。
首先,他們比快LWIP 6-8倍:https://github.com/ivanoff/images-manipulation-performance
然後,您可以保存文件,質量你想要的:
var stream = canvas.jpegStream({
quality: 80 // JPEG quality (0-100) default: 75
});
sharp('input.png')
.rotate(180)
.resize(300)
.flatten()
.background('#ff6600')
.overlayWith('overlay.png', { gravity: sharp.gravity.southeast })
.sharpen()
.withMetadata()
.quality(90)
.webp()
.toBuffer()
.then(function(outputBuffer) {
// outputBuffer contains upside down, 300px wide, alpha channel flattened
// onto orange background, composited with overlay.png with SE gravity,
// sharpened, with metadata, 90% quality WebP image data. Phew!
});