2012-01-21 5 views
11

자바 용 이미지 스케일링 라이브러리를 몇 개 찾았습니다. 그러나 어느 쪽이 가는지 확실하지 않습니다. 서버에서 업로드 한 이미지에서 미리보기 이미지를 생성해야합니다.최상의 이미지 스케일링 라이브러리

어떤 것이 좋고 나쁜지 알 수 있다면 좋을 것입니다.

내가 가진 목록은 다음과 같습니다

  • JMagick
  • im4java
  • Thumbnailator
  • 자바 - 이미지 크기 조정 내 개인 프로젝트에서
  • JAI

답변

4

을, 나는 돈 특정 라이브러리를 사용하지 마십시오. Java 용으로 제공되는 기능은 괜찮습니다. 나를위한 결과. 이미지 스케일링을 원한다면 완전한 이미지 프로세싱 라이브러리가 너무 비중있게됩니다.

http://www.mkyong.com/java/how-to-resize-an-image-in-java/에 제공된 코드 스 니펫을 사용하면 아주 잘 작동합니다.

5

썸네일을 생성하는 Java API는 고품질 썸네일이 필요한 경우 충분하지 않습니다.

고품질의 미리보기 이미지를 생성하려면 나열된 프레임 워크와 같은 프레임 워크를 사용하십시오. ImgScalr (https://github.com/thebuzzmedia/imgscalr) 및 Thumbnailator를 시도했습니다. 내 마이크로 벤치 마크 테스트 (일반 목적의 결론에 실제로 사용할 수는 없음)로 Thumbnailator는 더 빠르고 (투명하지 않은 축소판을 생성 할 때) 훨씬 빠르지 만 더 쉽습니다.

또한 JMagick을 사용해 보았지만 코드를 컴파일하고 설정하는 문제가 발생했습니다. - 또한 그 기본 코드 언어로 작성 나는 전혀 이해하지 못하는 프레임 워크 나중에 문제로 실행하는 방법에 대한 조금 걱정 C.

또한 여기에 유용한 토론 찾을 수 있습니다 들어 How can I resize an image using Java?

5

을 내 간단한 필요성, Thumbnailator은 완벽했습니다. 작은 lib; 유창하고 깨끗하며 잘 문서화 된 API입니다.

//.. 
Thumbnails.of(originalFile) 
     .size(300, 300) 
     .toFile(thumbnailFile) 
//.. 

을 수행 : 내 경우

, 그냥 "net.coobird" % "thumbnailator" % "0.4.8" 의존도를했다. 기본적으로 Java 2D API 위에 친숙한 래퍼입니다. 특정 (thumbnailin ') 필요에 유용합니다. 학습 곡선이 없습니다.


당신이 정말로 이미지 일부 무거운 리프팅을 할 필요가없는 한, 내가 외부 바이너리에 따라 조심하려는 설정으로 복잡성과 움직이는 부분을 추가 (ImageMagick를하고 JMagick 같은 래퍼). 특히 스택이 내 것과 비슷한 경우 : Heroku에서 실행되는 스칼라/Java 응용 프로그램. heroku-buildpack-imagemagick-cedar-14과 같은 것들이 있습니다. 그러나 앱과 번들 된 간단한 의존성은 무한히 깨끗합니다.

관련 문제