我试图在ubuntu 14.04 with GraphicsMagick
上使用以下代码:
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
和正确大小但名称奇怪的[object object]'文件'。
我尝试了以下,但是,结果相同:
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 :(得分:0)
似乎不是期望writeStream gm需要文件名字符串作为write()
的第一个参数。 (遗憾的是,我找不到写函数的任何文档)
结果:write需要文件名,writeStream
是object
。调用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);
}
});