站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        如何通過(guò)imagick讓PHP生成PSD文件縮略圖(實(shí)例)

        ImageMagick是一套功能強(qiáng)大、穩(wěn)定而且免費(fèi)的工具集和開發(fā)包,可以用來(lái)讀、寫和處理超過(guò)185種基本格式的圖片文件,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。利用ImageMagick,你可以根據(jù)web應(yīng)用程序的需要?jiǎng)討B(tài)生成圖片, 還可以對(duì)一個(gè)(或一組)圖片進(jìn)行改變大小、旋轉(zhuǎn)、銳化、減色或增加特效等操作,并將操作的結(jié)果以相同格式或其它格式保存。

        如何通過(guò)imagick讓PHP生成PSD文件縮略圖(實(shí)例)

        通過(guò)imagick讓PHP生成PSD文件縮略圖

        第一步、安裝ImageMagick

        首先需要安裝 ImageMagick ,因?yàn)?imagick 是一個(gè)可以供 PHP 調(diào)用 ImageMagick 功能的PHP擴(kuò)展。(目前最新版本是:ImageMagick-6.8.9-5-Q16-x64-dll.exe)

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

        C:ImageMagick

        一路默認(rèn)安裝即可,安裝完畢后打開 CMD 命令行界面,輸入:convert ,并按回車,如果能看到一大堆的內(nèi)容則表示安裝成功。

        如果提示“ convert 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件”或者提示“請(qǐng)輸入轉(zhuǎn)換的盤符”( convert 是一個(gè)默認(rèn)的將 FAT32 轉(zhuǎn)換到 NTFS 的系統(tǒng)命令)那么你需要自己將 ImageMagick 的安裝路徑添加到系統(tǒng)路徑。

        我的電腦 -> 單擊右鍵 -> 屬性 -> 高級(jí) -> 環(huán)境變量 -> 系統(tǒng)變量 -> 找到“Path” -> 選中并點(diǎn)擊進(jìn)行編輯 -> 把你的安裝路徑添加進(jìn)去。

        第二步、安裝imagick

        點(diǎn)擊這里下載,注意下載的時(shí)候要下對(duì)應(yīng)的 PHP 版本,同時(shí)注意系統(tǒng)是32位還是64位,以及 PHP 是 NTS 版還是 TS 版(目前最新穩(wěn)定版是 3.1.2 ,關(guān)于如何判斷 PHP 是 NTS 版還是 TS 版,可通過(guò) phpinfo 查看其中的 Thread Safety 項(xiàng),如果是 enabled 就代表是 TS 版,否之則就是 NTS 版)

        將下載的壓縮包解壓,找到 php_imagick.dll 文件,把它放到 PHP 的擴(kuò)展目錄里,然后打開 php.ini 文件,在對(duì)應(yīng)的位置添加以下一行:

        extension=php_imagick.dll

        保存退出后并重啟電腦,確保生效。

        如果未生效,則將壓縮包里所有「CORE_RL_*.dll」文件復(fù)制到 php 根目錄,如:D:php5.6

        第三步、檢查

        如果一切正常,重啟后在 phpinfo 里應(yīng)該能看到 imagick 項(xiàng),如:

        如果找不到,則返回第一步,更換不同版本的 ImageMagick 重新安裝并重新調(diào)試。

        第四步、測(cè)試

        OK,到這一步可以開始編寫代碼了,過(guò)程就不細(xì)說(shuō)了,直接上代碼

        error_reporting(E_ERROR | E_WARNING);   $im = new Imagick('1.psd'); $im->setImageIndex(0); $im->setIteratorIndex(0); $im->stripImage(); //去除圖片信息 $im->setImageCompressionQuality(80); //圖片質(zhì)量 $im->writeImage('1.jpg');

        以上代碼已經(jīng)經(jīng)過(guò)測(cè)試可以正確生成出一張 1.jpg 的圖片。

        建議縮略圖還是以 jpg 格式,因?yàn)?png 格式不支持壓縮,我在測(cè)試的時(shí)候使用 30M 的 PSD 文件,生成出來(lái)的 png 縮略圖有 3M 多,而 jpg 只有 200KB 左右,并且生成 png 圖片的速度明顯很慢,大概需要3,4秒。

        另外還做了極端測(cè)試,用了一近 600M 的 PSD 文件生成 jpg 縮略圖,速度基本在2秒內(nèi),文件大小不到 2.5M ,由于并未對(duì)圖片進(jìn)行尺寸的修改,所以最終生成文件的體積可以根據(jù)實(shí)際情況再減小。

        第五步、其它格式

        除了 PSD 文件,我還另外嘗試了一些其它格式,比如 MP4 、AVI 等視頻格式,但生成速度超級(jí)慢。最后發(fā)現(xiàn)比較實(shí)用的就是生成 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);

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 亚洲精品无码永久中文字幕| 亚洲国产综合精品中文字幕 | 99久久www免费人成精品| 中文字幕日韩精品无码内射| 最新亚洲精品国自产在线观看| 欧美jizzhd精品欧美| 久久久久久噜噜精品免费直播| 欧美日激情日韩精品| 国产精品丝袜一区二区三区| 亚洲精品国产综合久久一线| 国产日韩久久久精品影院首页 | 国产精品宾馆在线精品酒店| 最新精品亚洲成a人在线观看| 国内精品久久久久久久coent| 精品久久一区二区| 国产精品毛片无遮挡| 亚洲精品美女久久777777| 午夜在线视频91精品 | 久久99精品久久久久子伦| 亚洲国产精品无码久久青草| 国产区精品福利在线观看精品| 国产成人精品综合网站| 国产三级久久久精品麻豆三级| 综合精品欧美日韩国产在线| 午夜精品久久久久久影视777| 精品国产一级在线观看| 国产精品白丝jkav网站| 97精品伊人久久久大香线蕉| 8050免费午夜一级国产精品| 亚洲精品国产成人专区| 免费精品一区二区三区第35| 精品久久香蕉国产线看观看亚洲| 成人国产精品高清在线观看| 55夜色66夜色国产精品视频| 国产午夜精品无码| 国产精品后入内射日本在线观看| 欧美亚洲国产成人精品| 欧美精品在线一区| 欧美精品一区二区三区在线| 亚洲精品综合一二三区在线 | 国产99久久精品一区二区|