2016-04-13 17 views
0

Ich versuche, den folgenden Code auf ubuntu 14.04 with GraphicsMagick zu verwenden:Knoten, gm - JPG zu PNG Umwandlung Anomalie

var writeStream = fs.createWriteStream("resized2.png"); 

gm('Koala.jpg') 
.resize(200,200) 
.autoOrient() 
.setFormat('png') 
.write(writeStream, function(err) { 
    if (err) { 
    console.log(err); 
    } 
}); 

Dies führt zu zwei Dateien erstellt werden, finden Sie in das Bild unten:

enter image description here

Ein Nullbyte resized2.png und die korrekt große, aber bizarr benannte [Objekt Objekt] 'Datei'.

Ich habe versucht, mit dem folgenden, jedoch gleichem Ergebnis: einen Dateinamen Zeichenfolge erwartet als erstes Argument von write()

var writeStream = fs.createWriteStream("resized2.jpg"); 

gm('Koala.jpg') 
.resize(200,200) 
.autoOrient() 
//.setFormat('png') 
.write(writeStream, function(err) { 
    if (err) { 
    console.log(err); 
    } 
}); 

Antwort

0

Es scheint, dass stattdessen ein Writestream g erwarten. (leider kann ich keine Dokumente für die Schreibfunktion finden)

Das Ergebnis: Schreiben benötigt einen Dateinamen, writeStream ist ein object. object.toString() wird aufgerufen und gibt "[object Object]" als Dateiname zurück.

Inzwischen fs.createWriteStream() erstellt eine leere Datei und tut nichts anderes.

versuchen, dies ohne Writestream:

gm('Koala.jpg') 
.resize(200,200) 
.autoOrient() 
.setFormat('png') 
.write('resized2.png', function(err) { 
    if (err) { 
    console.log(err); 
    } 
}); 
+0

es wirklich zu schätzen wissen. Vielen Dank. – kmansoor