Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Module dependencies.
- */
- var exec = require('child_process').exec;
- var images = [
- 'bowl.jpeg'
- , 'case.jpeg'
- , 'guitar.jpg'
- ];
- function flags(options) {
- var keys = Object.keys(options);
- return keys.map(function(key){
- var val = options[key];
- return true === val
- ? '-' + key
- : '-' + key + ' ' + val;
- }).join(' ');
- }
- function convert(images, options, fn) {
- var ext = options.ext || '.png'
- , pending = images.length
- , done;
- delete options.ext;
- options = flags(options);
- images = images.map(function(image){
- var dest = image.replace(/\.(jpe?g|png|gif)$/, ext)
- , cmd = [
- 'convert'
- , options
- , image
- , dest
- ].join(' ');
- exec(cmd, function(err, stdout, stderr){
- if (done) return;
- if (err) return done = true, fn(err);
- --pending || fn(null, images);
- });
- return dest;
- });
- }
- convert(images, { resize: '251x171', trim: true }, function(err, images){
- if (err) throw err;
- console.log(images);
- convert(images, { resize: '63x40', trim: true, ext: '.thumb.png' }, function(err, images){
- if (err) throw err;
- console.log(images);
- });
- });
Add Comment
Please, Sign In to add comment