2011-02-08 38 views
5

Mục tiêu của tôi là chuyển đổi định dạng tệp emf, wmf sang các định dạng tệp hình ảnh khác.emf để chuyển đổi jpg

tôi bao gồm image4java jar và cố gắng để chuyển đổi tập tin emf tôi sang các định dạng khác như jpg, png .. sử dụng đoạn mã sau:

import org.im4java.core.ConvertCmd; 
import org.im4java.core.IMOperation; 
import java.io.File; 
public class im4java { 
    public static void main(String arg[]) 
    { 
     File input=new File("src/image.emf"); 
     File output=new File("src/output.jpg"); 
     convertemf2png(input,output); 
    } 
    public static void convertemf2png(File input,File output) 
    { 
     try{ 
     IMOperation img=new IMOperation(); 
     img.addImage(); 
     img.addImage(); 
     ConvertCmd convert=new ConvertCmd(); 
     convert.run(img,new Object[]{input,output}); 
     } 
     catch(Exception e) 
     { 
      e.printStackTrace(); 
     } 
    } 
} 

trong khi tôi thực hiện nó, tôi đã nhận lỗi như

  1. khi tôi sử dụng chỉ đơn giản convert.run(img,new Object[]{input,output}); tôi đã nhận

    java.lang.IllegalArgumentException: java.io.File is an unsupported image-type

     at org.im4java.core.ImageCommand.resolveImages(ImageCommand.java:289) 
         at org.im4java.core.ImageCommand.prepareArguments(ImageCommand.java:189) 
         at org.im4java.core.ImageCommand.run(ImageCommand.java:208) 
         at im4java.convertemf2png(im4java.java:27) 
         at im4java.main(im4java.java:18) 
    

khi tôi sử dụng, `conversion.run (img, new Object [] {input.getAbsolutePath(), output.getAbsolutePath()}); tôi đã nhận,

org.im4java.core.CommandException: org.im4java.core.CommandException: Invalid Parameter - C:\vignesh\im4java\src\output.jpg 
     at org.im4java.core.ImageCommand.run(ImageCommand.java:215) 
     at im4java.convertemf2png(im4java.java:27) 
     at im4java.main(im4java.java:18) 
Caused by: org.im4java.core.CommandException: Invalid Parameter - C:\vignesh\im4java\src\output.jpg 
     at org.im4java.core.ImageCommand.finished(ImageCommand.java:247) 
     at org.im4java.process.ProcessStarter.run(ProcessStarter.java:314) 
     at org.im4java.core.ImageCommand.run(ImageCommand.java:211) 

ai vui lòng giúp đỡ tôi trong fizing vấn đề này hoặc bất kỳ cách nào khác để chuyển đổi hình ảnh formatt emf để formats..Thanks khác trước.

+0

định cấu hình biến môi trường 'IM4JAVA_TOOLPATH' (chỉ' PATH' không đủ) đã giúp tôi trong tình huống tương tự –

Trả lời

3

Bạn cũng cần thêm những dòng này trước khi sử dụng các lệnh im4java:

String myPath="PATH\TO\ImageMagick"; 
ProcessStarter.setGlobalSearchPath(myPath); 
0

Đặt hình ảnh của bạn trong Strings. Đảm bảo bạn đặt biến môi trường IM4JAVA_TOOLPATH thành đường dẫn hình ảnh của bạn.

import org.im4java.core.ConvertCmd; 
import org.im4java.core.IMOperation; 

public class im4java { 
    public static void main(String arg[]) 
    { 
     String input = "src/image.emf"; 
     String output = "src/output.jpg"; 
     convertemf2png(input,output); 
    } 
    public static void convertemf2png(String input,String output) 
    { 
     try{ 
     IMOperation img=new IMOperation(); 
     img.addImage(); 
     img.addImage(); 
     ConvertCmd convert=new ConvertCmd(); 
     convert.run(img,input,output); 
     } 
     catch(Exception e) 
     { 
      e.printStackTrace(); 
     } 
    } 
} 
Các vấn đề liên quan