2016-09-30 133 views
0

如何使用https://github.com/rsms/node-imagemagick在图像周围添加更多空白空间? 例如原始图像width:300, height:100,我要生成新的图像是width: 600, height: 200原始图像是在中心保持原来的大小,周围添加空白区域成为新的形象..如何使用imagemagick在图像周围添加更多空白

我想下面的代码,但是这使原始图像变得600 * 200 ...如何解决它?

function cropGravity(srcFilePath, dstFilePath, resizeWidth, resizeHeight, quality, gravity) { 
    return new Promise(function (resolve, reject){ 
    im.crop({ 
     srcPath: srcFilePath, 
     dstPath: dstFilePath, 
     width: resizeWidth, 
     height: resizeHeight, 
     quality: quality, 
     gravity: gravity 
    }, function(error, stdout, stderr){ 
     if (error != null) { 
     console.log(error) 
     reject(error); 
     } else { 
     resolve(dstFilePath); 
     } 
    }); 
    }); 
}; 

... 
var resizeWidth = 600; 
var resizeHeight = 200; 
var quality = 1; 
var gravity = 'Center'; 
cropGravity(srcFilePath, dstFilePath, resizeWidth, resizeHeight, quality, gravity) 
+0

我不能阅读所有的括号和大括号和逗号,但你需要设置你的背景颜色设置为'white',将'gravity'设置为'center',并使用新的尺寸的'extent()'函数。 –

+0

感谢您的回复,我找不到有关背景参数的文档,以及'extent()'?你会提供一些示例代码如何使用? – user1775888

回答

2

我真的不说话node,但它可能会与此类似:

im.convert(['input.jpg', '-gravity', 'center', '-background','white', '-extent', '600x200','result.jpg'], 
function(err, stdout){ 
    if (err) throw err; 
    console.log('stdout:', stdout); 
}); 
+0

非常感谢! – user1775888