輕松學(xué)php之圖形圖像處理

輕松學(xué)php之圖形圖像處理

ID:21936568

大?。?.65 MB

頁(yè)數(shù):36頁(yè)

時(shí)間:2018-10-21

輕松學(xué)php之圖形圖像處理_第1頁(yè)
輕松學(xué)php之圖形圖像處理_第2頁(yè)
輕松學(xué)php之圖形圖像處理_第3頁(yè)
輕松學(xué)php之圖形圖像處理_第4頁(yè)
輕松學(xué)php之圖形圖像處理_第5頁(yè)
資源描述:

《輕松學(xué)php之圖形圖像處理》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、第11章圖形圖像處理PHP不僅限于處理文本數(shù)據(jù),PHP還可以處理多種格式的圖像。雖然在PHP中有一些簡(jiǎn)答的圖形圖像處理函數(shù)是可以直接使用的。但是大多數(shù)要處理的圖像都要通過GD庫(kù)來(lái)處理,它不僅可以創(chuàng)建新圖像,而且可以處理已有的圖像。本章我們的重點(diǎn)就是學(xué)習(xí)GD庫(kù)。11.1加載GD庫(kù)在PHP5之后的版本中默認(rèn)就安裝了GD庫(kù),默認(rèn)情況下GD庫(kù)是沒有被加載的。我們需要通過配置php.ini來(lái)加載GD庫(kù),如圖所示。在將圖中的語(yǔ)句改為圖中所示的形式后重啟服務(wù)器即可成功加載。當(dāng)然我們使用的集成環(huán)境默認(rèn)就加載了GD庫(kù)。當(dāng)然讀者最好打

2、開php.ini文件確認(rèn)一下。在修改配置后我們可以通過兩種方法來(lái)驗(yàn)證。11.1加載GD庫(kù)(1)通過輸出PHP信息確認(rèn)GD庫(kù)已成功加載。(2)通過gd_info()取得GD庫(kù)信息。11.2創(chuàng)建圖像在PHP中GD庫(kù)處理圖像的操作都是先在內(nèi)存中處理,操作完成后再以數(shù)據(jù)流的方式輸出到瀏覽器或者保存在服務(wù)器磁盤中。創(chuàng)建一個(gè)圖像通常要經(jīng)過四個(gè)步驟:(1)創(chuàng)建畫布(2)繪制圖像(3)輸出圖像(4)釋放資源下面我們就來(lái)分別學(xué)習(xí)這些步驟。11.2.1創(chuàng)建畫布在使用GD庫(kù)處理圖像時(shí),首先要?jiǎng)?chuàng)建一張畫布。創(chuàng)建畫布就是在內(nèi)存中開辟一塊存儲(chǔ)

3、區(qū)域,以后GD庫(kù)的所有操作都是基于這個(gè)畫布處理的。我們通常使用imagecreate()和imagecreatetruecolor()來(lái)創(chuàng)建指定的畫布,它們的語(yǔ)法如圖所示。以上兩個(gè)函數(shù)都可以創(chuàng)建一張畫布,成功都會(huì)返回一個(gè)資源句柄,失敗則返回FALSE。不同的是它們可以容納的色彩范圍不同,imagecreate()創(chuàng)建一個(gè)基于普通調(diào)色板的圖像,通常支持256色。imagecreatetruecolor()可以創(chuàng)建一個(gè)真色彩圖像,但是該函數(shù)不可以用于GIF格式圖像。11.2.1創(chuàng)建畫布(1)演示使用創(chuàng)建畫布函數(shù)創(chuàng)建畫布

4、。由于我們沒有在畫布上執(zhí)行任何操作,因此瀏覽器不會(huì)顯示出畫布。除了使用上面兩個(gè)函數(shù)可以創(chuàng)建一個(gè)畫布外。我們還可以通過表中的函數(shù)打開服務(wù)器或者網(wǎng)絡(luò)文件中已經(jīng)存在的圖像。表中的函數(shù)都只接受一個(gè)文件路徑或者URL,在執(zhí)行成功后返回文件句柄,失敗則返回FALSE。函數(shù)名描述imagecreatefromgif()通過GIF文件或者URL新建一個(gè)圖像imagecreatefromjpeg()通過JPEG文件或者URL新建一個(gè)圖像imagecreatefrompng()通過PNG文件或者URL新建一個(gè)圖像imagecreate

5、fromwbmp()通過WBMP文件或者URL新建一個(gè)圖像11.2.1創(chuàng)建畫布(1)演示通過常用新建圖像函數(shù)新建圖像。以上代碼就通過兩種方式創(chuàng)建了圖像。但是由于我們并沒有輸出圖像,因此瀏覽器不會(huì)有任何顯示。但是我們可以通過imagesx()和imagesy()來(lái)獲取創(chuàng)建圖像的尺寸(以像素為單位),它們的語(yǔ)法如圖所示。(2)通過imagesx()和imagesy()獲得新建圖像的寬和高。11.2.2輸出圖像在進(jìn)過上面這些函數(shù)的學(xué)習(xí),相比讀者已經(jīng)很像看看這些圖像到底是什么樣子的。在PHP中可以使用不同的函數(shù)輸出不同格式

6、的圖像,如表是常用的輸出圖像函數(shù)。函數(shù)名描述imagegif()輸出一個(gè)GIF格式圖像到瀏覽器或文件imagejpeg()輸出一個(gè)JPEG格式圖像到瀏覽器或文件imagepng()輸出一個(gè)PNG格式圖像到瀏覽器或文件11.2.2輸出圖像表中函數(shù)的語(yǔ)法如圖所示。在所示的語(yǔ)法中,如果指定了第二個(gè)參數(shù)則圖像會(huì)以文件的形式輸出。11.2.2輸出圖像(1)使用圖像輸出函數(shù)輸出創(chuàng)建的圖像。(2)演示代碼會(huì)出現(xiàn)的錯(cuò)誤。(3)演示使用ob_clean()清除輸出緩沖后正確輸出圖像。(4)代碼運(yùn)行在IE內(nèi)核之外瀏覽器的情況。11.2

7、.2輸出圖像為了保持兼容,我們需要在程序中使用header()來(lái)指瀏覽器以什么形式輸出類型,它的語(yǔ)法如圖所示。(1)演示使用header()函數(shù)指定瀏覽器輸出類型,從而正確輸出圖像。11.2.3釋放資源在圖像的所有資源使用完畢后,我們通常就需要釋放圖像處理所占用的內(nèi)存了。在PHP中通過imagedestroy()來(lái)釋放資源,它的語(yǔ)法如圖所示。(1)演示圖像處理程序執(zhí)行完畢后使用imagedestroy()釋放內(nèi)存資源。(2)證明釋放資源是有意義的。11.2.4設(shè)置顏色前面我們已經(jīng)學(xué)習(xí)了如何建立一張畫布,但是要是現(xiàn)在

8、就開始繪畫,是不會(huì)成功的,因?yàn)槲覀儸F(xiàn)在還沒有“彩筆”。這樣就是開始繪畫結(jié)果就像是拿一支沒有筆芯的筆在畫布上畫一樣,都是徒勞的。下面我們就來(lái)創(chuàng)建我們的“彩筆”——設(shè)置顏色。在PHP中通過imagecolorallocate()來(lái)設(shè)置顏色,它的語(yǔ)法如圖所示。imagecolorallocate()會(huì)返回一個(gè)標(biāo)識(shí)符,代表了由給定的RGB成分組成的顏色。圖中所示語(yǔ)法

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。