之前在PHP環境中大都使用GD庫來處理圖片
這幾天找到了另一個處理圖片的工具ImageMagick
ImageMagick可以用來讀、寫和處理超過數十種的圖片格式
要在PHP中使用當然得先安裝ImageMagick
http://www.imagemagick.org/script/index.php
到官方下載最新的版本,安裝後如何在PHP引用製作縮圖呢?
Linux用法
exec or system('/usr/bin/convert -quality 85 -geometry 245x360 來源圖片路徑 目的圖片路徑');
相比由GD庫來處理簡單多了
不過GD庫處理的速度三倍於ImageMagick
最可能的原因在於 呼叫 exec 或 system 執行系統命令所造成的延遲
題外話 convert 似乎會自動辨識圖片的尺寸
製作縮圖時如果傳入的數據有誤
ImageMagick會自動換算比例後製作縮圖
例如原始圖片 1024X1505 要製成 480X360 比例明顯有誤
不過經由ImageMagick處理後則變成 245x360 很聰明吧 XD
2007年11月14日 星期三
2007年11月4日 星期日
Linux 讓GD庫支援JPEG
昨天在自己的座機上運行PHP程式時才發現
雖然有開啟GD庫支援,但是無法操作JPEG圖片
使用phpinfo()觀看GD庫的訊息才發現
當初安裝時並沒有加入JPEG的支援
因為習慣採用tarball安裝方式
當然,要用JPEG就得下載JPEG套件後編譯
http://www.ijg.org/
取得jpegsrc.v6b.tar.gz源碼檔後
開始編譯,一切都在掌握中......
不對喔,終端機視窗怎跑二下就停了
一看,果真有錯誤訊息
訊息是說無法建立目錄或檔案
怪怪,已經是用root的權限了怎不能建立呢?
找了一下google答案就出來
座機上將JPEG安裝於/opt/php
作法如下︰
Configure 時需要下
./configure --prefix=/opt/php/jpeg-6b --enable-static --enable-shared
Make 後需要執行下面那一句,才能安裝
% make
% strip rdjpgcom wrjpgcom .libs/{cjpeg,djpeg,jpegtran}
//語意上看似裁剪帶有rdjpgcom wrjpgcom的字串
Install
# mkdir -p /opt/php/jpeg-6b/{bin,include,lib,man/man1}
//還是得先建好目錄
# make install
接著再重新編譯一次GD庫開始JPEG支援
再編譯一次PHP
問題就解決了。
雖然有開啟GD庫支援,但是無法操作JPEG圖片
使用phpinfo()觀看GD庫的訊息才發現
當初安裝時並沒有加入JPEG的支援
因為習慣採用tarball安裝方式
當然,要用JPEG就得下載JPEG套件後編譯
http://www.ijg.org/
取得jpegsrc.v6b.tar.gz源碼檔後
開始編譯,一切都在掌握中......
不對喔,終端機視窗怎跑二下就停了
一看,果真有錯誤訊息
訊息是說無法建立目錄或檔案
怪怪,已經是用root的權限了怎不能建立呢?
找了一下google答案就出來
座機上將JPEG安裝於/opt/php
作法如下︰
Configure 時需要下
./configure --prefix=/opt/php/jpeg-6b --enable-static --enable-shared
Make 後需要執行下面那一句,才能安裝
% make
% strip rdjpgcom wrjpgcom .libs/{cjpeg,djpeg,jpegtran}
//語意上看似裁剪帶有rdjpgcom wrjpgcom的字串
Install
# mkdir -p /opt/php/jpeg-6b/{bin,include,lib,man/man1}
//還是得先建好目錄
# make install
接著再重新編譯一次GD庫開始JPEG支援
再編譯一次PHP
問題就解決了。
訂閱:
文章 (Atom)