1

過去 1 週間、アプリで JMagick を使用しようとしていますが、まだ成功していません。デフォルトのインストール ディレクトリを使用して、ソース自体から JMagick 6.4.0 と ImageMagick 6.4.0 をインストールしました。/usr/local/lib に共有ライブラリが表示されます。

ここで、オプションを指定して次のプログラムを実行しようとします-Djava.library.path=/usr/local/lib

public class JMagickTest {
    public static void main(String[] args) {
        try {
            System.setProperty("jmagick.systemclassloader", "false");
            System.out.println(System.getProperty("java.library.path"));
            ImageInfo info = new ImageInfo("/home/blue_bg.jpg");
            MagickImage image = new MagickImage(info);
            System.out.println(image.getBackgroundColor());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

次のエラーが発生します。

/usr/local/lib
magick.MagickException: Unable to retrieve handle
        at magick.MagickImage.getBackgroundColor(Native Method)
        at JMagickTest.main(JMagickTest.java:19)

誰でもここで私を助けてくれませんか。また、システムから ImageMagick をアンインストールする適切な方法を提案してください。

よろしく
お願いします

4

2 に答える 2

1

最後に、私はエラーを見つけました。

ハンドルを取得できませんは、さまざまな理由で発生する可能性がある非常に一般的なエラーだと思います。1 つは、Imagemagick の複数のインストールである可能性があります。

私の場合のエラーは、JPEG 形式のデリゲート ライブラリがインストールされていないことでした。そこで、 http://blog.ericlamb.net/2008/11/fix-for-convert-no-decode-delegate-for-this-image-format/の指示に従って、最初にこのライブラリをインストールしてから、imagemagick を再インストールしました。それは問題を解決しました。

于 2011-04-05T13:25:02.243 に答える
0

Google は、このエラーはシステムに ImageMagick の複数のコピーがあることに関連していると考えているようで、ハンドラーを取得しようとすると混乱します。JMagick は ImageMagick をパッケージ化していると思われますが、それが重複の原因である可能性があります。

于 2011-03-31T14:14:47.207 に答える