2010-08-10 85 views
9

我需要一些足夠智能的縮略圖生成庫來在我的Java應用程序中使用它。我找到合適的代碼here,但我不確定可能的授權問題。是否有任何縮略圖生成的Java庫?

有沒有免費的適當的庫?

+1

您是否聯繫作者以查看是否存在授權問題? – Woody 2010-08-10 14:51:51

回答

6

如果拆分任務「創建縮略圖」三步走「載入圖片」,「灰度圖像」和「保存圖像」,你可以做到這一點標準的Java API。您可以使用javax.imageio.ImageIO中的靜態實用程序方法來加載和保存圖像,並使用Image#getScaledInstance(...)來調整原始圖像的大小。由於您從getScaledInstance獲得的Image不是BufferedImage,因此您必須創建一個尺寸正確的新BufferedImage,並將縮放後的圖像繪製到新的BufferedImage中,然後才能使用ImageIO進行保存。

0

jmagick,這是流行的ImageMagick框架的Java實現。

+1

好主意,但不是最理想的。通過ABI包裝器添加外部依賴關係和調用本地方法並不是Java開發人員稱之爲好的解決方案。 – gyorgyabraham 2012-11-20 09:58:58

+0

這不是一個真正的Java實現,它是本地ImageMagick庫的Java接口。 – 2013-04-09 15:31:32

18

嘗試縮略圖:http://code.google.com/p/thumbnailator/。您需要添加的所有代碼是:

Thumbnails.of(new File("path/to/directory").listFiles()) 
    .size(640, 480) 
    .outputFormat("jpg") 
    .toFiles(Rename.PREFIX_DOT_THUMBNAIL); 

它也快:http://code.google.com/p/thumbnailator/wiki/Comparison

好運

+0

愛它!像一個魅力和超級易於使用的作品。插入我的網站在幾分鐘內,我很高興與此 – 2015-02-05 23:33:56

+0

爲了方便與流行的構建工具集成,請參閱:[http://mvnrepository.com/artifact/net.coobird/thumbnailator](http://mvnrepository.com/artifact/ net.coobird/thumbnailator) – icl7126 2016-02-02 08:50:13

1

有關如何用API方法,Scalr.resize(「你的論點」)的縮略圖將是最好的一個。 thumbanilator是一個選項,你不需要浪費你的理解時間,只需調用相應的方法,並享受你的輸出縮略圖。 性能/質量明智Scalr是最好的。 質量明智的thumbnailator是好的。