преобразование эдс в jpg - PullRequest
       3

преобразование эдс в jpg

5 голосов
/ 08 февраля 2011

Моя цель - преобразовать форматы файлов emf, wmf в другие форматы файлов изображений.

Я включил jar image4java и попытался преобразовать мой файл emf в другие форматы, такие как jpg, png .., используя следующий код:

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

во время выполнения я получил ошибку типа

  1. при использовании просто convert.run(img,new Object[]{input,output}); я получил

    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)
    

когда я использую, `convert.run (img, new Object [] {input.getAbsolutePath (), output.getAbsolutePath ()});я получил,

 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)

кто-нибудь, пожалуйста, помогите мне в решении этой проблемы или любой другой способ конвертировать формат изображения EMF в другие форматы .. Спасибо заранее.

Ответы [ 3 ]

4 голосов
/ 04 июня 2011

Вам необходимо указать путь к исполняемому файлу ImageMagic - вы случайно вызываете программу для Windows с именем convert

3 голосов
/ 23 апреля 2012

Вам также необходимо добавить эти строки перед использованием команд im4java:

String myPath="PATH\TO\ImageMagick";
ProcessStarter.setGlobalSearchPath(myPath);
0 голосов
/ 27 сентября 2015

Поместите ваши изображения в строки. Убедитесь, что вы установили переменную среды IM4JAVA_TOOLPATH в свой путь к 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();
        }
    }
}
...