2011-03-31 2 views
1

지난 1 주 동안 내 앱에서 JMagick을 사용하려고하지만 여전히 불완전합니다. 기본 설치 디렉토리를 사용하여 소스 자체에서 JMagick 6.4.0 및 ImageMagick 6.4.0을 설치했습니다./usr/local/lib에 공유 라이브러리를 볼 수 있습니다.magick.MagickException : 핸들을 검색 할 수 없습니다.

이제 -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

6.3.9가 잘 작동하는 동안 jmagick-6.4에 문제가있었습니다. 시도해 볼 수 있습니다. – Nishant

+0

감사합니다 nishant, 그것을 시도 할 것입니다 – RandomQuestion

+0

JMagick 6.3.9를 찾을 수 없습니다. 당신은 저에게 그것의 연결을 제공 할 수 있었다 – RandomQuestion

답변

1

마지막으로 오류를 발견했습니다.

저는 생각합니다. 핸들을 검색 할 수없는 것은 다양한 이유로 인해 발생할 수있는 매우 일반적인 오류입니다. 하나는 Imagemagick의 여러 설치 일 수 있습니다.

제 경우의 오류입니다. JPEG 형식의 대리자 라이브러리가 설치되지 않았습니다. 그래서 나는 http://blog.ericlamb.net/2008/11/fix-for-convert-no-decode-delegate-for-this-image-format/에 대한 지침을 따라 먼저이 라이브러리를 설치 한 다음 imagemagick을 다시 설치합니다. 그것은 문제를 해결했습니다.

0

구글은이 오류가 시스템에 ImageMagick를 여러 개 가진 관련 있다고 생각하는 것하고 핸들러를 검색하려고 할 때 혼란지고 있습니다. 나는 JMagick이 ImageMagick을 패키지로 넣었다고 의심 할 것이다. 아마도 복제물이 어디에서 왔는지 알 것이다.

+0

나는 임명을 위해 뒤에 오는 연결을 이용했다. http://sourceforge.net/apps/mediawiki/jmagick/index.php?title=Installing_JMagick. 그것은 imagemagick을 설치 한 다음 jmagick을 설치합니다. – RandomQuestion

+0

또한 imagemagick의 중복 설치를 찾는 방법을 찾을 수 없습니다. – RandomQuestion

관련 문제