2016-09-30 1 views
0

Comment utiliser https://github.com/rsms/node-imagemagick ajouter plus d'espace blanc autour de l'image? exemple image originale est width:300, height:100, je veux générer nouvelle image est width: 600, height: 200 l'image originale est dans le centre reste la taille originale, ajouter un espace blanc autour de devenir nouvelle image ..Comment utiliser imagemagick ajouter plus d'espace blanc autour de l'image

J'ai essayé ci-dessous le code mais faire l'image originale devenir 600 * 200 ... comment le résoudre?

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

Je ne peux pas lire tous les crochets et les accolades et des virgules, mais vous devez définir votre arrière-plan couleur à 'white', votre' gravity' à 'center' et utilisez la fonction' extent() 'avec la nouvelle taille. –

+0

merci pour la réponse, je ne peux pas trouver doc sur le param de fond, et 'ampleur()' ?? pourriez-vous fournir un code d'exemple comment utiliser? – user1775888

Répondre

2

Je ne parle pas vraiment node, mais il sera probablement semblable à ceci:

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

Merci beaucoup !! – user1775888