剛好有個網友提到如何利用Servlet來產生縮圖,利用Servlet來產生而不存放成檔案,這種及時取得圖像的方法,比較不建議使用在需要大量輸出圖的狀況下,這樣子在記憶體的使用上會很重。
而為什麼使用ImageMagick來做縮圖呢?其實Java本身也可來製做縮圖,可是因為本身浮點運算的問題,效果並沒有很好,雖然麻煩了點,還是外掛dll來使用ImagicMagick會來的好。
JMagick ImageMagick等介紹及下載請參考:
JMagick-Java open source free影像壓縮
範例的結果:

詳細文章
前二篇資料(教學)在Ubuntu裡建立Apache with Tomcat 服務-2 (教學)在Ubuntu裡建立Apache with Tomcat 服務-1
讓Apache Server與Tomcat Server做溝通
使Apache支援JSP及測試ImageMagick及JMagick是否可用
1.設定apache使用apj與tomcat做溝通,把所有內容向tomcat送
#sudo vi /etc/apache2/sites-available/default
在<VirtualHost *:80></VirtualHost>tag內增加
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule proxy_connect_module /usr/lib/apache2/modules/mod_proxy_conn$
LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/
2.重新啟動tomcat及apache
#sudo /etc/init.d/tomcat5 restart
#sudo /etc/init.d/apache2 restart
測試http://localhost/是否跟http://localhost:8080/一樣
一樣的話就是成功了!
3.測試jmagick是否可用
詳細文章
前一篇資料(教學)在Ubuntu裡建立Apache with Tomcat 服務-1
再來要介紹JMagick及ImageMagick的安裝 in Ubuntu 9.10(Linux)
包含jpeg及png支援
1.安裝zlib ->jpeg需使用
#cd /opt/
#sudo wget http://www.zlib.net/zlib-1.2.3.tar.gz
#sudo tar zxvf zlib-1.2.3.tar.gz
#cd /opt/zlib-1.2.3
#sudo ./configure
#sudo make
#sudo make install
2.安裝jpeg lib 使其支援jpeg jpg格式
#sudo mkdir /usr/local/modules
#sudo mkdir /usr/local/modules/jpeg6
#sudo mkdir /usr/local/modules/jpeg6/bin
#sudo mkdir /usr/local/modules/jpeg6/lib
#sudo mkdir /usr/local/modules/jpeg6/include
#sudo mkdir /usr/local/modules/jpeg6/man
#sudo mkdir /usr/local/modules/jpeg6/man/man1
#cd /opt/
#sudo wget http://ftp.ntu.edu.tw/gnu/pub/gnu/ghostscript/jpegsrc.v6b.tar.gz
#sudo tar zxvf jpegsrc.v6b.tar.gz
#cd /opt/jpeg-6b
#sudo ./configure --prefix=/usr/local/modules/jpeg6 --enable-shared --enable-static
#sudo make
#sudo make install
3.安裝png lib 使其支援png格式
詳細文章
程式很簡單 ,只需要在利用command在程式目錄下執行
java -jar ReSizeImage.jar
就可以啦!
預設是縮成以寬為500px基準,如果要改變寬可以利用
java -jar ReSizeImage.jar 數字
縮完的圖會放到程式目錄的resize目錄裡
我Blog都是以500寬為基準,我想應該夠用了吧^^
程式目錄結構
ReSizeImage.jar
jmagick.dll
lib/Jmagick.jar
記得要先下載Imagick來安裝才能使用喔
按裝方法如下:
範例圖檔可以按圖下載,放置於程式目錄

原始碼如下:
詳細文章
一般Java要取得圖片的長寬size大部份的人,也是最簡單的方法,
就是使用java.awt.image.BufferedImage來取得,不過有時JVM在釋放記憶體來不及時,很容易會出Exception
這時候可以利用Jmagick來取得,它會呼叫外部的ImageMagick 的dll來取得長寬,
以下就是原始碼:
import magick.ImageInfo;
import magick.MagickException;
import magick.MagickImage;
import java.awt.Dimension;
詳細文章