首頁 後端開發 php教程 如何透過imagick讓PHP產生PSD檔案縮圖(實例)

如何透過imagick讓PHP產生PSD檔案縮圖(實例)

Jan 21, 2020 pm 02:18 PM
imagick

ImageMagick是一套功能強大、穩定且免費的工具集和開發包,可以用來讀、寫和處理超過185種基本格式的圖片文件,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。利用ImageMagick,你可以根據web應用程式的需要動態生成圖片, 還可以對一個(或一組)圖片進行改變大小、旋轉、銳化、減色或增加特效等操作,並將操作的結果以相同格式或其它格式保存。

如何透過imagick讓PHP產生PSD檔案縮圖(實例)

透過imagick讓PHP產生PSD檔案縮圖

第一步、安裝ImageMagick

#首先需要安裝ImageMagick ,因為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
登入後複製

儲存退出後並重新啟動電腦,確保生效。

如果未生效,則將壓縮套件裡所有「CORE_RL_*.dll」檔案複製到php 根目錄,如:D:\php5.6

第三步、檢查

如果一切正常,重啟後在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);
登入後複製

更多php相關知識,請造訪php教學

以上是如何透過imagick讓PHP產生PSD檔案縮圖(實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

透過php和Imagick實現圖片透明化處理 透過php和Imagick實現圖片透明化處理 Jul 29, 2023 am 09:45 AM

透過php和Imagick實現圖片透明化處理簡介:圖片透明化處理是一種常見的影像處理需求,透過將圖片中的某個顏色或區域變為透明,可以實現各種特效效果。本文將介紹如何使用php和Imagick函式庫來實現圖片透明化處理,並提供程式碼範例供參考。 Imagick是一款功能強大的圖片處理庫,它提供了豐富的影像處理功能,包括圖片的讀取、編輯、保存等。透過Imagick,我們

使用php和Imagick實現圖片尺寸調整的最佳實踐 使用php和Imagick實現圖片尺寸調整的最佳實踐 Jul 29, 2023 pm 05:57 PM

使用php和Imagick實現圖片尺寸調整的最佳實踐引言:在現代互聯網時代,圖片是網頁和應用程式中不可或缺的一部分。為了提升使用者體驗和加快網頁載入速度,通常需要對圖片進行尺寸調整,以適應不同的顯示裝置和解析度。本文將介紹如何使用php和Imagick庫來實現圖片尺寸調整的最佳實踐,並提供程式碼範例。一、安裝Imagick擴充在開始之前,我們首先需要確保在伺服器

使用php和Imagick實現圖片的顏色轉換 使用php和Imagick實現圖片的顏色轉換 Jul 29, 2023 pm 04:49 PM

使用PHP和Imagick實現圖片的顏色轉換導語:在Web開發中,我們經常需要對圖片進行處理,其中一個常見的需求就是修改圖片的顏色。本文將介紹如何使用PHP和Imagick擴充功能來實現圖片的顏色轉換。 Imagick是PHP的一個強大的影像處理擴展,它提供了許多功能豐富的方法,包括影像剪切、縮放、旋轉等等。而在顏色轉換方面,Imagick也提供了一系列方法來實現

透過php和Imagick實現圖片的銳化處理 透過php和Imagick實現圖片的銳化處理 Jul 29, 2023 pm 01:33 PM

透過php和Imagick實現圖片的銳利化處理在現代的圖片處理中,銳利化是一項常見的技術,它可以提升圖片的細節和清晰度,使圖片更加生動。在本文中,我們將介紹如何使用php和Imagick庫來實現圖片的銳化處理。首先,確保你的伺服器上已經安裝了Imagick庫。如果沒有安裝,你可以透過以下指令來安裝:sudoapt-getinstallphp-imagick

如何使用php和Imagick對圖片進行色彩調整 如何使用php和Imagick對圖片進行色彩調整 Jul 28, 2023 pm 01:57 PM

如何使用PHP和Imagick對圖片進行色彩調整引言:在Web開發中,有時我們需要對圖片進行色彩調整,以滿足設計需求或最佳化圖片效果。 PHP提供了豐富的影像處理庫,其中Imagick是一個功能強大、易於使用的擴展,可以輕鬆地對圖片進行色彩調整。本文將介紹如何使用PHP和Imagick來實現圖片的色彩調整,並給出對應的程式碼範例。一、安裝Imagick擴充:要使用

透過php和Imagick將多個圖片合成為一個 透過php和Imagick將多個圖片合成為一個 Jul 28, 2023 pm 08:39 PM

透過php和Imagick將多個圖片合成為一個在網頁開發中,有時我們需要將多個圖片合成為一個,以方便展示和節省頁面載入時間。在這篇文章中,我們將介紹如何使用php和Imagick函式庫來實現這個功能。 Imagick是一個強大的圖片處理庫,它提供了豐富的影像處理方法和函數。首先,我們需要在php中安裝Imagick擴充功能。接下來,我們將透過以下程式碼範例示範如何將多

透過php和Imagick實現圖片的裁剪和縮放 透過php和Imagick實現圖片的裁剪和縮放 Jul 28, 2023 pm 06:18 PM

透過PHP和Imagick實現圖片的裁剪和縮放摘要:在Web開發中,經常需要對圖片進行裁剪和縮放以適應各種需求。本文將介紹如何使用PHP和Imagick庫來實現圖片的裁剪和縮放,並提供程式碼範例供讀者參考。引言:隨著網路的快速發展,圖片在網頁中扮演越來越重要的角色。然而,由於每個網頁都有各自的佈局和尺寸要求,因此往往需要對圖片進行裁剪和縮放來適應不同的場景。 P

透過php和Imagick實現圖片的切片效果 透過php和Imagick實現圖片的切片效果 Jul 29, 2023 am 08:25 AM

透過php和Imagick實現圖片的切片效果在web開發中,圖片的處理是很常見的需求。其中,圖片的切片效果是一種非常常用的處理方式。將一張大圖切分成若干個小圖,可以有效縮小圖片的載入時間,並且更有彈性地展示圖片內容。本文將介紹如何使用php和Imagick擴充來實現圖片的切片效果。首先,我們需要確保伺服器上已經安裝了php以及Imagick擴充。如果沒有

See all articles