1

I'm resizing an image using gm library but it create an empty image. I use different ways for writing result but everytime get empty image.

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);
});

I also use this way but result was the same.

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();
    });
});

And this way too:

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);
});

this way every time return en empty object({}) as error!

Ali Amini
  • 172
  • 2
  • 14

0 Answers0