2016-09-30 137 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