Tôi đang sử dụng công cụ chuyển đổi của ImageMagick để chuyển đổi hình ảnh từ trong chương trình Java của tôi chạy trên Mac OS X. Tôi đang sử dụng mã sau, mà tôi đã thích nghi từ here.ImageMagick chuyển đổi trạng thái thoát 133
public static void convertToJPG(String originalFile, String newFile) throws Exception {
executeCommand("/usr/local/ImageMagick-6.6.7/bin/convert", originalFile, newFile);
}
private static void executeCommand(String... command) throws Exception {
ProcessBuilder pb = new ProcessBuilder(command);
pb.redirectErrorStream(true);
Process p = pb.start();
int exitStatus = p.waitFor();
System.out.println(exitStatus);
if(exitStatus != 0)
throw new Exception("Error converting image.");
}
Tuy nhiên, khi tôi làm điều này, tôi nhận được một trạng thái thoát của và thông báo lỗi dưới đây. Tôi giả định rằng điều này có một cái gì đó để làm với các điều khoản, như khi tôi chạy lệnh tương tự từ thiết bị đầu cuối, nó hoạt động tốt.
Thông báo lỗi:
dyld: Library not loaded: /ImageMagick-6.6.7/lib/libMagickCore.4.dylib
Referenced from: /usr/local/ImageMagick-6.6.7/bin/convert
Reason: image not found
Edit: Ok, vì vậy nó quay ra rằng tôi đã nhận được thông báo lỗi trên do Java không thể thấy biến DYLD_LIBRARY_PATH
môi trường. Vì vậy, tôi khởi động lại Eclipse và mọi thứ đã hoạt động.
Chà, điều đó có ý nghĩa hoàn hảo, không thể tin rằng tôi không nghĩ về nó. Cảm ơn bạn! Tôi sẽ cố gắng hôm nay. – DanielGibbs
Ah-ha! Bây giờ tôi có một thông báo lỗi! Cập nhật ở trên. – DanielGibbs