我试图将文件读入缓冲区,调整大小,然后使用以下示例代码将其写入磁盘:
function processImage(data) {
gm(data, 'test.jpg')
.resize('300x300')
.background('white')
.flatten()
.setFormat('jpg')
.toBuffer(function(err, buffer) {
if (err) {
throw err;
} else {
fs.writeFile('asd.jpg', buffer);
}
});
}
Run Code Online (Sandbox Code Playgroud)
但是,这会产生错误Error: Stream yields empty buffer
.我玩过,使用过imageMagick和graphicsMagick,还是一样的.
如果我代替
toBuffer(...
用
write('asd.jpg', function(err) ...
它实际上写了一个合适的文件.
编辑在写这个问题时,我找到了解决方案,请参阅回复