2016-04-13 16 views
0

私はubuntu 14.04 with GraphicsMagickに次のコードを使用しようとしている:ノード、GM - JPG、PNGへの変換異常

enter image description here

これは、2つのファイルが作成され、その結果
var writeStream = fs.createWriteStream("resized2.png"); 

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

、下の画像を参照してください。

ゼロバイトresized2.pngと、サイズは正しくありますが、奇妙な名前の[オブジェクトオブジェクト] 'ファイル'です。

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

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

答えて

0

代わりにwriteStream GMを期待してのwrite()の最初の引数としてファイル名の文字列を期待しているようです:

私は、しかし、次のように同じ結果を試みました。 (悲しいことに、書込み機能のためのドキュメントが見つかりません)

結果:書き込みにはファイル名が必要です。writeStreamobjectです。 object.toString()が呼び出され、"[object Object]"がファイル名として返されます。

一方、fs.createWriteStream()は空のファイルを作成し、それ以外は何もしません。

はwriteStreamせずにこれを試してみてください。

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

は本当に感謝します。ありがとうございました。 – kmansoor