[Servlet]利用JMagick即時產生縮圖

剛好有個網友提到如何利用Servlet來產生縮圖,利用Servlet來產生而不存放成檔案,這種及時取得圖像的方法,比較不建議使用在需要大量輸出圖的狀況下,這樣子在記憶體的使用上會很重。

而為什麼使用ImageMagick來做縮圖呢?其實Java本身也可來製做縮圖,可是因為本身浮點運算的問題,效果並沒有很好,雖然麻煩了點,還是外掛dll來使用ImagicMagick會來的好。

JMagick ImageMagick等介紹及下載請參考:

JMagick-Java open source free影像壓縮

範例的結果:

jmagick1.png




利用imageToBlob這個函數來產生byte array做為輸出OutputStream

ps.記得把檔案先放在c糟,請自行下載範例圖

header.jpg

Servlet的部份只是把參數做處理,而呼叫JMagickScale來做壓縮

原始碼下載:

如果傳如的值檔案不存在時會有下面結果:

jmagick2.png

One comment on “[Servlet]利用JMagick即時產生縮圖

發表迴響