PHP產生PSD檔案縮圖教程

來源:互聯網
上載者:User
這篇文章主要介紹了如何使用PHP產生PSD檔案縮圖,主要運用了imagick。本文講解了安裝ImageMagick、安裝imagick、檢查安裝是否成功、產生PSD檔案縮圖等內容,希望對大家有所協助。

第一步、安裝ImageMagick

  首先需要安裝 ImageMagick http://imagemagick.org/script/binary-releases.php#windows,因為 imagick 是一個可以供 PHP 調用 ImageMagick 功能的PHP擴充。(目前最新版本是:ImageMagick-6.8.9-5-Q16-x64-dll.exe)

  安裝目錄不能有空格,我個人是安裝在 C 盤根目錄:

C:\ImageMagick


  一路預設安裝即可,安裝完畢後開啟 CMD 命令列介面,輸入:convert ,並按斷行符號,如果能看到一大堆的內容則表示安裝成功。

  如果提示“ convert 不是內部或外部命令,也不是可啟動並執行程式或批次檔”或者提示“請輸入轉換的盤符”( convert 是一個預設的將 FAT32 轉換到 NTFS 的系統命令)那麼你需要自己將 ImageMagick 的安裝路徑添加到系統路徑。

  我的電腦 -> 單擊右鍵 -> 屬性 -> 進階 -> 環境變數 -> 系統變數 -> 找到“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 ,由於並未對圖片進行尺寸的修改,所以最終組建檔案的體積可以根據實際情況再減小。

第五步、其它格式

  除了 PSD 檔案,我還另外嘗試了一些其它格式,比如 MP4 、AVI 等視頻格式,但產生速度超級慢。最後發現比較實用的就是產生 PDF 檔案的縮圖,但處理 PDF 檔案前,需要安裝 Ghostscript ,然後整體的代碼基本和產生 PSD 的代碼一樣

$im = new Imagick();$im->readImage('D:/soft/wamp/www/test/1.pdf[0]');//echo $im->getNumberImages();$im->writeImages('D:/soft/wamp/www/test/1.jpg', false);

相關推薦:

什麼是GD庫?在PHP中載入GD庫的具體介紹

(進階篇)PHP圖片處理技術-GD庫

深入淺析ImageMagick命令執行漏洞

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.