NodeJs - graphicsMagic写入空图像

时间:2016-09-15 05:45:05

标签: node.js gm

我正在使用gm库调整图像大小,但它会创建一个空图像。我使用不同的方式来写结果,但每次都得到空图像。

gm(readStream)
.size({bufferStream: true}, function(err, size) {
    this.resize(100, 100, '%')
    .stream()
    .on('end',function(){
        console.log('done');
    })
    .on('error',function(err){
        console.log(err);
    })
    .pipe(writeStream);
});

我也用这种方式,但结果是一样的。

gm(srcPath)
.resize(100, 100)
.stream(function(err, stdout, stderr) {
    if(err){
        console.log('ERRoor:', err);
    }
    // ws = fs.createWriteStream( output );
    i = [];
    stdout.on( 'data', function(data){
        // console.log('data');
        i.push( data );
    });
    stdout.on( 'close', function(){
        console.log( 'close' );
        var image = Buffer.concat( i );
        writeStream.write( image.toString('base64'), 'base64' );
        writeStream.end();
    });
});

也是这样:

gm(srcPath)
.resize(100, 100)
.write(writeStream, function (err) {
    var thumbUrl, error;
    if (err) {
        error = err;
    } else{
        thumbUrl = thumbPath.replace(/\\/g, '/');
        thumbUrl = thumbUrl.replace(/^\.\/public/, '');
    }

    callback(error, thumbUrl);
});

这样每次返回空对象({})都是错误的!

0 个答案:

没有答案