1

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

この方法では、毎回空のオブジェクト({})をエラーとして返します!

4

0 に答える 0