2016-08-01 8 views
2

Ich benutze jimp, um ein Bild in node.js Größe zu ändern, ich bin erfolgreich in der Lage, die Bildqualität zu verschlechtern, aber ein bisschen verwirrt, wie erhalten den Weg des neuen BildesGröße eines Bildes in Node.js mit jimp und den Pfad das neue Bild

Jimp.read("test.jpg", function (err, test) { 
     if (err) throw err; 
     test.resize(256, 256) 
      .quality(50)     
      .write("new.jpg"); 
    }); 
+1

die doc Reading (https://github.com/oliver-moran/jimp#writing-to-files-and-buffers) sagt mir, Sie kann den absoluten Pfad in 'write' Funktion geben – 0aslam0

Antwort

5

versuchen so etwas wie:

Jimp.read("test.jpg", function (err, test) { 
     if (err) throw err; 
     test.resize(256, 256) 
      .quality(50)     
      .write(__dirname + "./new.jpg"); 
    }); 

Dies sollte die Datei auf dem Projektstamm speichern.

Weitere Informationen über __dirname

+0

danke für die Hilfe :) – learner

-1

Sie können Ihr Bild Ändern der Größe Leistung um 20 mal erhöhen. Verwenden Sie einfach ein anderes Modul für die Bildverarbeitung. Check this out:

https://github.com/ivanoff/images-manipulation-performance

Wie Sie es sehen können, jimp Modul das langsamste Modul ist.

Versuchen Sie scharf oder Leinwand.

0

I app-root-path npm bin mit ROOTPATH ​​zu bekommen:

var appRoot = require('app-root-path'); 
var imgName = new Date().getTime().toString(); 
var savePath = appRoot + '/uploads/' + imgName; 

Jimp.read("test.jpg", function (err, image) { 
    if (err) throw err; 
    image.resize(256, 256) 
     .quality(50)     
     .write(savePath); 

    // save savePath to database 

});