2012-07-28 30 views
6

Estoy tratando de cambiar el tamaño de una imagen con la biblioteca node-imagemagick, pero no está funcionando.imagemagick con nodejs no funciona

el código que estoy utilizando para cambiar el tamaño es

im.resize({ 
     srcPath: __dirname+'originalimage.jpg', 
     dstPath: __dirname+'resized.jpg', 
     width: 50 
    }, function(err, stdout, stderr){ 
     if (err) throw err; 

    }); 

Se lanza el error

Error: Command failed: Invalid Parameter - -set 

    at ChildProcess.<anonymous> (E:\NodeJsDevelopment\node_modules\imagemagick\imagemagick.js:64:15) 
    at ChildProcess.EventEmitter.emit (events.js:91:17) 
    at Process._handle.onexit (child_process.js:674:10) 
+0

¿tiene instalado "imagemagick"? no el paquete npm? '' 'sudo apt-get install imagemagick''' – InspiredJW

Respuesta

13

En las ventanas también es necesario para instalar el exe ImageMagick. La librería de imagemagick de nodejs es solo un contenedor para imagemagick exe. Por lo tanto, no funcionará hasta que el imagemagick exe esté instalado y la conversión e identificación del ejecutable estén en la ruta.

+2

Deberá instalar imagemagick (la aplicación) en casi todas las plataformas. Por ejemplo, en la Mac, lo instalé usando Brew - 'brew install imagemagick' – k00k

+6

Para cualquiera que venga aquí porque está obteniendo el error mencionado anteriormente en windows ... ponga su identify.exe y convert.exe en el mismo directorio que usted server.js (o app.js). Simplemente registrar imagemagick globalmente no funcionó para mí. – enko

+1

@enko ¡Muchas gracias! Eso resolvió mi problema – vivek

0

Es solo que no ha instalado ImageMagick en su sistema. Si está utilizando una distribución de Linux, puede hacerlo:

sudo apt-get install ImageMagick