我试图在我的应用程序中使用JMagick过去一周,但sm仍然不成功。我使用默认安装目录从源本身安装了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。
提前致谢
Jitendra
答案 0 :(得分:1)
最后我发现了错误。
我认为,无法检索句柄是一个非常一般的错误,可能由于各种原因而发生。一个可能是Imagemagick的多个安装。
我的情况是错误的,没有安装JPEG格式的委托库。所以我按照http://blog.ericlamb.net/2008/11/fix-for-convert-no-decode-delegate-for-this-image-format/上的说明首先安装此库,然后重新安装imagemagick。它解决了这个问题。
答案 1 :(得分:0)
Google似乎认为此错误与您在系统上拥有多个ImageMagick副本有关,并且在尝试检索处理程序时会感到困惑。我怀疑JMagick将ImageMagick打包到其中,这可能是复制的来源。