2011-02-08 21 views
5

Il mio obiettivo è quello di convertire i formati di file emf, wmf in altri formati di file immagine.conversione da emf a jpg

ho incluso vaso image4java e ha cercato di convertire il mio file EMF in altri formati come JPG, PNG .. utilizzando il seguente codice:

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(); 
     } 
    } 
} 

mentre eseguo esso, ho ottenuto l'errore come

  1. quando uso semplicemente convert.run(img,new Object[]{input,output}); ho ottenuto

    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) 
    

quando uso, `convert.run (img, new Object [] {input.getAbsolutePath(), output.getAbsolutePath()}); ho ottenuto,

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) 

chiunque please help me in fizing questo problema o qualsiasi altro modo per convertire immagini formatt EMF ad altri formats..Thanks in anticipo.

+0

la configurazione della variabile di ambiente 'IM4JAVA_TOOLPATH' (solo 'PATH' non è sufficiente) mi ha aiutato in una situazione simile –

risposta

3

È inoltre necessario aggiungere queste righe prima di utilizzare i comandi im4java:

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

mettere le vostre immagini in stringhe. Assicurati di impostare la variabile di ambiente IM4JAVA_TOOLPATH sul tuo percorso imagemagick.

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(); 
     } 
    } 
}