2012-07-28 6 views
6

Tôi đang cố gắng thay đổi kích thước hình ảnh bằng thư viện hình ảnh nút, nhưng nó không hoạt động.imagemagick với nodejs không hoạt động

mã tôi đang sử dụng để thay đổi kích thước là

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

    }); 

Nó ném lỗi

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

bạn đã cài đặt "imagemagick" chưa? không phải gói npm? '' 'sudo apt-get install imagemagick''' – InspiredJW

Trả lời

13

Trên cửa sổ bạn cũng cần phải cài đặt exe ImageMagick. Thư viện imagemagick của nodejs chỉ là một trình bao bọc cho exe imagemagick. Vì vậy, nó sẽ không làm việc cho đến khi exe imagemagick là intalled và chuyển đổi và xác định thực thi được trong đường dẫn.

+2

Bạn sẽ cần phải cài đặt imagemagick (ứng dụng) trên hầu như tất cả các nền tảng. Ví dụ, trên máy Mac, tôi cài đặt nó bằng cách sử dụng Brew - 'brew install imagemagick' – k00k

+6

Đối với bất cứ ai đến đây vì bạn đang nhận được lỗi nói trên dưới cửa sổ ... đặt your.exe.exe và convert.exe vào cùng thư mục với bạn server.js (hoặc app.js). Đơn giản chỉ cần đăng ký imagemagick trên toàn cầu đã không làm việc cho tôi. – enko

+1

@enko Cảm ơn rất nhiều! Điều đó giải quyết vấn đề của tôi – vivek

0

Chỉ là bạn chưa cài đặt ImageMagick trong hệ thống của mình. Nếu bạn đang sử dụng bản phân phối Linux, bạn có thể làm:

sudo apt-get install ImageMagick