2016-04-26 10 views
0

私は写真ソーシャルメディアのウェブサイトで作業しており、各画像のサムネイルを生成しています。画像はページ上で適切な大きさで表示されるので、品質をあまり低下させることはできません(例:www.prsmphoto.com/user/tyler)。LWIPを使用したNodeJSのサムネイル生成

現在、私はこれを使用しています: image.scale(.15);

これは、ファイルのサイズを小さくするためのまともな仕事です。しかし、これは恐ろしく見える小さな画像の品質を破壊します。私はこれにどのようにアプローチすべきですか?私はそれの周りに私の頭をラップするのに問題があります。

答えて

0

シャープまたはキャンバスモジュールを使用してください。

まず第一に、彼らは6-8倍速いのlwIPより、次のとおりです。

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! 
    }); 
https://github.com/ivanoff/images-manipulation-performance

次に、あなたが望む品質でファイルを保存することができます

関連する問題