文件系統【圖片處理】(基於thumbnailator)典藏版-壹

很多系統開發中都會碰到文件相關的處理,最近順手開發一個小型文件系統的過程中碰到圖片縮略圖的需求,需要在顯示的時候提供縮略圖,下載的時候提供原圖,大家直接想到的可能是java自帶的圖片處理類,但是處理過於複雜,無法滿足需求,特別是在水印等方面支持的不太好,老樣子,直接發輪子,接好了~

簡單介紹下今天的輪子吧:

thumbnailator

  • google開發並維護
  • github開源
  • 不依賴於外部庫
  • 操作超級簡單(真的超級簡單)

action

ONE.按照原圖縮小(原圖001.jpg-->002.jpg):

Thumbnails.of(new File("F://001.jpg"))
              .size(500, 500)
              .toFile(new File("F://002.jpg"));

原圖大小:6848 KB --> 42 KB 新圖(比例不變,見下圖)

新圖

TWO.按照原圖放大(原圖001.jpg-->002.jpg):

Thumbnails.of(new File("F://002.jpg"))
              .size(1500, 1500)
              .toFile(new File("F://003.jpg"));

原圖大小:42 KB --> 174 KB 新圖(比例不變,如下圖)

新圖

除了便捷的放大縮小,直接生成文件之外。
還可以轉換文件格式、支持直接生成輸出流等等,代碼:

OutputStream os = ...;
        
Thumbnails.of("F://001.jpg")
        .size(200, 200)
        .outputFormat("png")
        .toOutputStream(os);

相比原有的方案是不是賊方便,基本上代碼不超過5行,解決了50行都不一定能解決的問題,今天分享到這裏,後面見更多thumbnailator的用法分享。

其實很多時候,我們只需要魚,而不是漁,吶,給你魚。

TO BE CONTINUE !

關注公衆號 watermelon_code 獲取第一手的滿足~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章