首先需要安裝ImageMagick ,因為imagick 是一個可以供 PHP 調用 ImageMagick 功能的PHP擴展。(目前最新版本是:ImageMagick-6.8.9-5-Q16-x64-dll.exe)
安裝目錄不能有空格,我個人是安裝在 C 盤根目錄:
C:ImageMagick
一路默認安裝即可,安裝完畢后打開 CMD 命令行界面,輸入:convert ,并按回車,如果能看到一大堆的內容則表示安裝成功。
如果提示“ convert 不是內部或外部命令,也不是可運行的程序或批處理文件”或者提示“請輸入轉換的盤符”( convert 是一個默認的將 FAT32 轉換到 NTFS 的系統命令)那么你需要自己將 ImageMagick 的安裝路徑添加到系統路徑。
我的電腦 -> 單擊右鍵 -> 屬性 -> 高級 -> html' target='_blank'>環境變量 -> 系統變量 -> 找到“Path” -> 選中并點擊進行編輯 -> 把你的安裝路徑添加進去。
第二步、安裝imagick點擊這里下載,注意下載的時候要下對應的 PHP 版本,同時注意系統是32位還是64位,以及 PHP 是 NTS 版還是 TS 版(目前最新穩定版是3.1.2 ,關于如何判斷 PHP 是 NTS 版還是 TS 版,可通過 phpinfo 查看其中的 Thread Safety 項,如果是enabled 就代表是 TS 版,否之則就是 NTS 版)
將下載的壓縮包解壓,找到php_imagick.dll 文件,把它放到 PHP 的擴展目錄里,然后打開 php.ini 文件,在對應的位置添加以下一行:
extension=php_imagick.dll
保存退出后并重啟電腦,確保生效。
第三步、檢查如果一切正常,重啟后在 phpinfo 里應該能看到 imagick 項,如:
如果找不到,則返回第一步,更換不同版本的ImageMagick 重新安裝并重新調試。
第四步、測試OK,到這一步可以開始編寫代碼了,過程就不細說了,直接上代碼
error_reporting(E_ERROR | E_WARNING); $im = new Imagick('1.psd'); $im->setImageIndex(0); $im->setIteratorIndex(0); $im->stripImage(); //去除圖片信息 $im->setImageCompressionQuality(80); //圖片質量 $im->writeImage('1.jpg');
以上代碼已經經過測試可以正確生成出一張 1.jpg 的圖片。
建議縮略圖還是以 jpg 格式,因為 png 格式不支持壓縮,我在測試的時候使用 30M 的 PSD 文件,生成出來的 png 縮略圖有 3M 多,而 jpg 只有 200KB 左右,并且生成 png 圖片的速度明顯很慢,大概需要3,4秒。
另外還做了極端測試,用了一近 600M 的 PSD 文件生成 jpg 縮略圖,速度基本在2秒內,文件大小不到 2.5M ,由于并未對圖片進行尺寸的修改,所以最終生成文件的體積可以根據實際情況再減小。
PHP編程鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答