8.3.6.1 圖像處理函數概術村述
PHP提供了一系列函數來實現在網土商站編程中對(duì)圖像進(jìn)行編輯。雖然使森影用這(zhè)些函數能(néng)夠實現的功能(nén國道g)十分有限,無法和功能(néng)生用強大的專業圖形圖像軟件相比,但是在很多需要動态生成(chéng)圖像、自動批雪說量處理圖像等方面(miàn),能(néng)給PHP網現光站開(kāi)發(fā)者帶來巨大幫助。其中最爲典型錯懂的應用有随機圖形驗證碼、圖片水印、數據統計中餅狀圖、柱狀圖的生費吧成(chéng)等。表8-7中給列出了PHP常用的圖像處理函數。
表8-7 PHP常用圖像處理函數
&nb匠來sp; &nbs科時p; PHP 5提供的圖像處理函數總議吧數超過(guò)了100個,表8照兒-7中僅列出了部分常用函數。
&銀路nbsp; 還信 &低會nbsp;PHP的圖像處理函數都(dōu)封裝在一個函數庫中,這(zhè)就(jiù做謝)是GD庫。要使用GD庫中的函數來進(jìn)行圖你如像處理,必須保證安裝了GD庫。在PHP官方的标準發(fā)放森行版本中,都(dōu)包含了這(zhè)個高西庫。如本書介紹的PHP 5版本,這(zhè)個GD庫存放城那在PHP安裝目錄下的ext子目錄下,名爲php_gd2.d雜聽ll。讀者如果擔心自己的PHP版本是否包含這(z西話hè)個函數庫,可以打開(kāi)PHP安裝目錄月河查找一下。
&n頻光bsp; &嗎路nbsp;并不是php_gd2.dll庫文件存在,就(jiù)可以使用這(zhè)些函數雨慢了。在默認的php.ini設置中,這(zhè)個庫并不自動載新匠入。所以,需要首先打開(kāi)這(zhè)個庫的自動載入很日功能(néng),這(zhè)樣(yàn匠輛g)這(zhè)個庫中的函數就(jiù)像PH車樂P标準函數一樣(yàng)可以直接在程序中使用了。打開(kā老信i)的方法很簡單,用記事(shì)少秒本打開(kāi)php.ini配置文件,利用查找功能高們(néng)找到“;extension=php_gd2.dll”這(zhè拍場)一行,將(jiāng)最前面(miàn)的分号去掉,然後(hòu)不飛保存,重新啓動IIS(Apache),這(zhè)時(shí)候GD庫已經(j店湖īng)被(bèi)自動加載了。如圖8-20所示。
&nb器如sp; &nb森去sp;
圖8-20 開(kāi)啓GD圖像函數庫
&n花美bsp; &nb美又sp; 若要确定此函數庫是否已經(j學金īng)被(bèi)成(chéng)功加載,可以打學離開(kāi)第2章中講過(guò)的PHP環境信息顯示討子程序,也就(jiù)是phpinfo()程序,查看列出的信息中是很畫否有GD一項。該項目中詳細列出了當前PHP的GD庫信息,如圖8-21光樂所示。
圖8-21 GD庫信息
間厭 &n花工bsp; 由于本部分函數個數較多,而且具體使用方法較爲複雜,要在很有限的的金篇幅内進(jìn)行一個較全面(miàn)的介服少紹是十分困難的,這(zhè)裡區家(lǐ)僅給出兩(liǎng)個例子金書,讓讀者先體會(huì)一下PHP圖像處理函數的簡林音單使用。對(duì)表中列出的其他函數以及未在表中列出的函數,感興趣醫上的讀者可以參考PHP手冊進(jìn)行見化深入學(xué)習。
&n西村bsp; &nbs高懂p; 8.3.6.2 PHP基本繪圖
光木 &n都北bsp;通過(guò)下面(miàn)一個例子來學(火鐵xué)習有關用PHP進(jìn)就車行基本繪圖的方法。
通男 &子飛nbsp; 1: <?php兵和
&nb去又sp; &nbs機舞p; 2: //程序8-民校22.php:圖像處理函數使用舉例
&著錢nbsp; &nb訊行sp;3: header("區分;Content-type: image鐵水/png");
&她廠nbsp; &nb分錯sp; 4: $im = @光機imagecreate(200, 100) or 弟樹die("無法創建圖像流");
&n湖上bsp; &n喝區bsp; 5: 照北 @imagecolorallocate($im, 240,近間 150, 255);
&nbs船購p; &nbs購書p; &吃空nbsp;6: $t_co聽化lor1 = imagecolorallocate($im, 0, 0,鐵和 0);
&nbs對務p; &n話區bsp; &綠大nbsp;7: &nbs我白p; $t_color訊我2 = imagecolorallocate($im,100文多,100,100);
&nbs又暗p; &nb門友sp; 8: &nbs年化p;imagestring($im, 5, 8, 10, &城說quot;I like PHP5!", $裡費t_color1);
短民 &了電nbsp; 9: &n機劇bsp; imagestringup($im,5,8,9嗎志0,"Hello!&qu快農ot;,$t_color2);
&些讀nbsp; &n愛老bsp; 10: imageellip雜笑se($im,65,65,55,55,$t_color1);
&nb從明sp; 視風 &nb去說sp; 11: imageellip務內se($im,65,65,55,55,$t多腦_color1);
&區劇nbsp; &nbs腦男p; 12: im兵輛agefilledrectangle($im,110,95,我家160,30,$t_color2);
&nb間林sp; &n關銀bsp; 13: &nbs務長p; imagepng($im);
裡腦 &n生空bsp; 14: &n白費bsp; imagedestroy($im);
 化關; 物友 15: ?>
&信近nbsp;  線亮; 程序8-22.php創建了一幅PNG圖像,并且在圖長市像上面(miàn)進(jìn)行繪圖操作。程序運行結果如圖8火謝-22所示。
&nbs書村p; &n錢藍bsp;
圖8-22 程序8-22.php的運行結醫會果
 讀長; &nbs道議p; 程序8-22.php第3行指定了圖像的類型,即png圖像,這(zhè)樣(yà匠坐ng)8-22.php雖然是一個PHP程序,但是其作用鐵玩是動态生成(chéng)一張圖像,因此幾乎等同于拍行一張圖像。在本程序中普通的輸出語句海師如echo等都(dōu)是無效的,呢愛這(zhè)一點讀者應當注意。
&秒頻nbsp; &n哥討bsp; 第4行用imagecreate(場醫)函數創建一幅新圖像,兩(liǎng)個參數爲圖女在像的寬度和高度,單位是像素。此函數返回此圖像的數很能據流,存放于$im變量中。
&小但nbsp;  動就; 第5行用imagecoloral也公locate()函數設置了圖像的背景顔色。4個身水參數分别爲圖像流、R色值、G色時友值、B色值。3個色值合并即産生了RGB靜房色值。這(zhè)裡(lǐ)的240,150,255拍自運行之後(hòu)顯示淡紫色。另外(0,0,0)爲黑色,(255話不,255,255)爲白色,(255,0,0)爲紅色等。關厭到于RGB顔色的有關詳細信息請讀者自行查閱有關資料。
風什 &nbs地習p; &雨冷nbsp;第6~7行分别生成(chéng)了2種(zhǒng)顔色,存在的不同的變量答舊中以備後(hòu)面(miàn)使用。第一種(zhǒng)爲黑門科色,第二種(zhǒng)爲淺灰色。
員作  的很; 第8行用imagestring制的()函數在圖像上“寫入”了一個字符串。6個參數分别表示小雨圖像流、所用字體、寫入點的x坐标、寫入點的y呢就坐标、要寫入的字符串、字符串顔色。購北這(zhè)裡(lǐ)面(miàn)有兩(liǎng)點值得注意:第一點是函數員票的第二個參數取值範圍爲1~5,分别代表了不同大小和是否加粗的5種(zh月自ǒng)字體,讀者可以試著(zhe)修改此參數來觀察程序運行章車效果。第二點是這(zhè)裡(lǐ)的x,y坐标都(dō費師u)是相對(duì)于圖像的左上角,最遠體左上角坐标爲(0,0),向(xiàng)右爲x軸,向(xiàng)下爲y軸這地。單位都(dōu)是像素。
&nb在能sp; 都是 第9行用imagestringup()函數向(xiàng)圖像中豎向(xi腦微àng)寫入一個字符串。函數的參數含義與image通慢string()函數相同。
&nbs姐裡p;  通窗; &nbs為街p;第10行用imageellipse()函數在圖像中繪習民制了一個圓。函數第一個參數爲圖像流,最後(hò用風u)一個爲繪圖所用顔色,第2、3、4、5個參數分區海表表示圓心的x坐标、圓心的y坐标、圓的x方向(xiàn通刀g)半徑長(cháng)度、圓的y方向(xiàng)半兒藍徑長(cháng)度。在本例中,繪制了一個圓心在(6說用5,65)這(zhè)個點,半徑爲5分嗎5的正圓。如果要繪制一個橢圓,隻需要确定圓土拿心位置,然後(hòu)分别設置x方向(xiàng)半徑和y軸器紅方向(xiàng)半徑即可。當這(zhè)兩(liǎng)個半徑相公廠等時(shí)是一個圓,不相等時(shí)物去是一個橢圓。
&nbs看對p;  歌技; 第11行用imagefilledrectangle()函數繪制了一個矩形,并對美子(duì)矩形進(jìn)行顔色填充。第一個參數爲圖像流,金煙最後(hòu)一個參數爲填充顔色。第2、3、4、5個參數的含義分别了飛爲矩形左上角x坐标、矩形左上角y坐标、矩形右下角x坐标、矩形下影右下角y坐标。也就(jiù)是說(shuō)隻要提供矩形的左上角和右下角區線坐标,即可繪制此矩形。
&nb黑家sp; &街近nbsp;  問紙; 第12行用imagepng()函數將(jiāng)此圖像流輸出爲一張png格式中北的圖片。也就(jiù)是在浏覽器中看到的圖片。
&水年nbsp; 第13行銷毀了這(zhè)個圖像流。
&nb文大sp; 通報在本例中除了png格式,還(hái)不視可以把圖像輸出爲jpg、gif等用理常用的格式,隻需要更改一下程序中第冷間3行所指定的圖像類型即可。
 來鄉; &nbs河關p; 8.3.6.3 網站圖形驗花空證碼制作 &n道街bsp;
腦火
&nbs山雨p; &計票nbsp; 圖像驗證碼程序是當前Web開(kāi)發(fā)中常用的程序。本章學(xué大但)習了PHP的圖像處理函數,結合前面(miàn)章節她飛學(xué)習的session函數以及表線東單數據提交技術,可以寫出一個完整的圖像驗證碼程序。
&n愛男bsp; &n高友bsp;  媽工; 驗證碼在網站中的作用一般是防止惡意“農件灌水”,也就(jiù)是惡意發(fā)布雨白垃圾信息。如果沒(méi)有驗證碼,攻擊者可以利用輔助軟件實現自從花動提交、自動注冊等。由于軟件執行的效率高、速度快且可以黃姐連續工作,因此常用來被(bèi)攻擊某個網站林可,制造大量垃圾數據,嚴重影響網站正常運行。玩為
&nbs師南p;  服信; 采用了驗證碼的方式之後(hòu),由于驗證碼每次都(d小喝ōu)不一樣(yàng),隻有驗證碼輸入正确才能(néng)提交信息,這(zh聽多è)樣(yàng)輔助軟件就(jiù)無法随意向(xiàng)服務器提交信息了但高。因此,驗證碼的設計也有一些原則內我,如驗證碼的生成(chéng)是随機的,無規律可循。另外,有的輔事說助軟件有文字識别功能(néng),跳拿能(néng)夠從圖片中辨析出文字,因此驗證碼鐘裡中的數字可以采用随機的顔色,而且七扭八歪不易辨認。總之,最理想的吃海驗證碼應該是人的肉眼可以很容易地辨認出來,但是用軟件識别讀做就(jiù)極爲困難。
&訊能nbsp; &n南冷bsp; 鑒于此,在設計這(zhè)個驗證碼程序時(shí),就(jiù)不是兵草簡單的創建一幅圖片,然後(hòu)随機生成(ché間黑ng)幾個數字寫上去,而是再加入一些幹擾。用PHP提供的圖像處理函那男數,可以在圖像上加入一些密密麻麻的像子了素點,然後(hòu)随機繪制兩(liǎng)條虛線,再將(jiāng)幾個爸微數字的位置打亂。這(zhè)樣(yàn新朋g),機器識别就(jiù)變得十分困長工難了。
&nb錢票sp; 本實例用到以下3個文件。
&nb舊老sp; &n國又bsp; 8-23-showimg.php:生成(chéng)驗證一樹碼,將(jiāng)驗證碼寫入圖技體片,并輸出圖片。
&n朋科bsp;  文雨; &n厭不bsp;8-23-login.html:調用sh術秒owimg.php,將(jiāng)用戶輸入的驗證碼提交到check.們北php進(jìn)行驗證。
&nb讀愛sp; 懂到 8-23-check.php:用來驗證用戶腦雪輸入的驗證碼是否正确。
東影 &nbs動我p; 下面(miàn)就(jiù)來看一下具體的代碼。
錯謝 &nb男樹sp; 1: <?php
區樂 &子雪nbsp;2: &n短討bsp; //文件8-23-shoimg.p市路hp:生成(chéng)驗證碼圖片,并輸出
&nb公船sp; &資有nbsp; 3: 南玩 //随機生成(chéng)一個4位數的數會藍字驗證碼
 友明; 4:  樂花; $num="";
&文請nbsp; 5: &n志從bsp; for($i=0;$i機鄉<4;$i ){
&nbs姐人p; &nb會他sp; 6: &nbs煙吃p; &nb舊水sp; $num .= rand(0,9);
&外黑nbsp;  劇信; 7: &n區地bsp;}
長這 妹船  照區;8: //4位驗證碼也可以用商她rand(1000,9999)直接生成(chéng)
可女 &nbs但理p; 9: &n山動bsp; //將(jiāng)生成(chéng)的驗證碼寫笑光入Session,備驗證頁面(m中司iàn)使用
&n美議bsp; &舞秒nbsp; &nbs就做p; 10: s但知ession_start();
請白 &nb亮木sp; 們算 11: 間鄉 $_SESSION["數學Checknum"] = $num;
&nb有子sp; 店信 12: &nb又朋sp; //創建圖片,定義顔色值
&兒紙nbsp; &n書空bsp; 13: header工這("Content-type: image費內/PNG");
&n在章bsp; &她街nbsp;  多習;14: srand(鐘們(double)microti問木me()*1000000);
&n這雨bsp; &n腦坐bsp; 水藍15:  麗商; $im = imagecreate(60,20)輛體;
&nb靜雨sp; &nbs費高p; 16: $b章來lack = ImageColorAllocate($森算im, 0,0,0);
秒土 &自還nbsp; 17: &n河章bsp; $gra我話y = ImageColorAlloc黑票ate($im, 200,200,200);
&nb明男sp; 什厭 18: imagefi匠玩ll($im,0,0,$gray);
&nbs地明p;  自明; 19: &用資nbsp; //随機繪制兩(liǎng)條虛嗎雪線,起(qǐ)幹擾作用
&鐘人nbsp; 員老 20: $s短民tyle = array($black, $black, $black, 房了$black, $black, $gray, $gra市謝y,
$gray, $gray, $gr南答a y);
亮樹 &n校可bsp; 21: i河朋magesetstyle($im, $style);
 樂你;  計舞; &nbs間離p;22: &愛購nbsp; $y1=rand(0,20從在);
&n森笑bsp; 問師 &nbs你站p;23: $y2=rand(0,20);白線
&nbs又長p; 木愛 24:  拿上; $y3=rand(0,20);
 樹開; &nbs麗亮p;25: 慢吧 $y4=rand(0,20);
 文答; &nb下熱sp; &nbs空大p;26: imageline(時看$im, 0, $y1, 60, $y3, IMG_COLOR_STYLED吃短);
&n志年bsp; &nb自人sp; 27: imageline($im, 喝舞0, $y2, 60, $y4, IMG_COLOR_STYLED);
&nb跳科sp;  西但; 28: //在畫布上随機生成(ch子錢éng)大量黑點,起(qǐ)幹擾作用;
裡道 &nb有銀sp; 29: 低劇 for($i=0;$i<80;$i  事視;){
&nbs兵水p; &nbs間厭p; 30: &nb國雨sp; im照我agesetpixel($im, r花信and(0,60), rand(0,房為20), $black);
&得嗎nbsp;  他影; 31: }
外歌 &n微廠bsp; 32: //將(jiāng)四個數字随機頻兵顯示在畫布上,字符的水平間距和位置都(dōu)土體按一定波動範圍随機生成(chéng)
 高弟; &nb低短sp; 33: $str明但x=rand(3,8);
&n章舊bsp; &nb高慢sp; 34:  和費; for($i=0;$i<4;$他間i ){
&nbs錢公p; &訊呢nbsp; 35: &白站nbsp; $strpos=rand(1,6);
&微舞nbsp; 拍件 36: &n短照bsp; imagestring($im,5,$strx,$st長秒rpos, substr($num,$i,1), $black錢歌);
&nbs劇睡p; &校我nbsp; 37: &nb民不sp; $區用strx =rand(8,12);
 亮技;  外算; &nbs跳要p; 38: }
 河如;  微員; 39: ImagePNG($錯她im);
&nb文你sp; 街話 40: ImageDestr區你oy($im);
&n高木bsp; &秒訊nbsp;41: ?>
&nb腦快sp; &時明nbsp; &n制我bsp; 程序中的重要位置都(dōu)已經(jīng)做了注釋,再此不河小再詳細講解。本程序運行後(hòu河飛)可以在浏覽器中生成(chéng)一張帶有驗證碼的件我圖片。每次刷新程序都(dōu)會(huì)生成(chéng)一山視個新驗證碼。
&nbs廠有p; &空電nbsp; &n冷麗bsp; 1: <!--文件8-23-login.html:圖形驗證志弟碼程序-->
&有秒nbsp; &nb件火sp; 2: <HTML>
&nb妹見sp; &機日nbsp; 3: <放離HEAD>
&nb她用sp; 腦裡 &費鐵nbsp;  門為;4: &nbs見務p; <TIT黑謝LE>圖形驗證碼程序</TITLE>
&快那nbsp; &nb冷事sp; 5:  資黑; </HEAD>
時醫  短在; 6: &刀那nbsp; <BODY>
&nbs海鄉p; &件笑nbsp; &nbs行跳p; 7: &nb都問sp; &nbs分得p;<form action="8-23-ch音資eck.php" method="post"&g歌輛t;
到弟 &nb兒煙sp;  黃鐵; 8: &著喝nbsp; &nbs司火p; &nb訊懂sp; <img src=&quo內光t;8-23-showimg.php">的森;<br>
&信大nbsp; &木員nbsp; 9: &n在生bsp; 訊些 &nb樂腦sp; 請輸入驗證碼:<inp空內ut type="text"長電 name="passcode&qu器間ot;>
&n影窗bsp; &n少暗bsp; 10: 兵妹 &nbs去河p; <input type=submit va照商lue="确定">
&n刀校bsp; 11: &nb動爸sp; </form但日>
&nb水放sp;  小見; 12: &l請化t;/BODY>
&nbs妹商p; &n照火bsp; 13: </HTML>
&nbs說家p; 熱嗎本程序是一段純HTML代碼,無需多做解釋。惟一值得注懂遠意的是,在調用這(zhè)個圖片時(shí吃唱),采用“<img src=“8-23-sho了可wimg.php”>”的方式。因爲驗證碼圖片本身是一張圖片,所以舊畫使用<img>标簽來引用。而這(z下長hè)張圖片又是用PHP程序生成(chéng)的,因此直謝不接用“src= 8-23-showimg廠又.php”來調用。運行結果如圖8-23所示。
圖8-23 程序8-23-login.html哥歌的運行結果
&nb鐘科sp;  跳如; 1: <?php
&nb費站sp; &nb那關sp; 2: 答亮 //驗證用戶輸入的驗證碼是否正确
 生畫; &nbs玩一p; 3:  農頻;session_start();
&nb體腦sp; &nb女朋sp; 4: $pas嗎務scode=$_SESSION["上拿Checknum"];
&n裡能bsp; &nbs票得p; 5: 少錢 $usercode=$_POST[&qu個習ot;passcode"];
 離話; &拿錯nbsp;6: 音懂if($passcode == $userc長我ode){
&nb行著sp; 線林 7: &n我務bsp;  路紙; echo "驗證碼答知正确!驗證通過(guò)!";
&下可nbsp; 不慢 8: }els冷花e{
&n可要bsp; &n靜國bsp;  線身; 9: &n間慢bsp;  數你; echo "驗證碼輸入錯誤!驗證失敗!";唱電
&nbs店站p; &nbs近讀p; &nbs姐照p;10: }
 劇短;  用就; &nbs舊答p; 11: ?>
&n間光bsp; &路在nbsp; 劇長程序第3行是將(jiāng)session中存儲的唱化正确的驗證碼讀取出來。第4行將(jiāng)用戶輸分什入的驗證碼接收過(guò)來。然後(hòu)進(jì明慢n)行比較,如果相等,則說(s友車huō)明用戶輸入的驗證碼正确,否則不正确。
車對 8.3.6.4 圖片水印制作 少跳 &nb冷志sp; &nbs如上p;
&nbs林算p;  裡微;  錯熱; &nbs河行p; &nb有大sp; &nbs他音p; &答厭nbsp; &nb機朋sp;  計業;
少靜 &nb在草sp; 不僅可以直接創建一個圖像流來繪制圖形,還(hái)可服明以將(jiāng)一張已有的圖去話片作爲圖像流讀入,然後(hòu區知)在此基礎上對(duì)圖像進(jì美服n)行處理。這(zhè)一功能(nén議日g)常用來制作圖像水印。所謂圖像水印,就(jiù)是在圖像上标上一制熱些特殊的圖形或符号,用來作爲圖像所有者的标志或者防止山冷圖片被(bèi)盜用。下面(miàn)我們就(jiù)看一個這(zhè)店明樣(yàng)的例子。
務個 &nb會關sp; &n看電bsp; 本例使用了一張原始圖片pic.jpg,現在用PH服音P將(jiāng)此圖片進(jìn)行處理,在圖片表面(m相音iàn)按一定規律加上文字标簽,産生水印效果靜跳,使之不能(néng)被(bèi)直接盜用。
&廠個nbsp; &nbs姐快p;1: <?php
 街了; &做影nbsp;2: 舞山 //文件8-24.php:爲圖片商器加水印
&nbs間鐘p; 錯讀 3: &鐵習nbsp; header(&quo友做t;Content-type: ima女照ge/jpeg");
 鄉拿; &nb鄉電sp;  服作; 4: 地但 $im = imagecreat但兵efromjpeg("pic.jpg");
友會 &nb火化sp; 5: &n生時bsp; $white 到用= imagecoloralloca子新te($im,255,255,文新255);
 有風; &nbs醫大p; 6: &n少上bsp; $width=imagesx($im);
&業體nbsp;  書師; 7: &nbs拿學p; $height=imagesy($im);
 明雜; 到訊8:  話地;$x=0;
&nb鐘樂sp; &她友nbsp; 9: $要歌y=0;
&nb錢會sp; 放樂10: whi費市le($x<$width && $y<$he技關ight){
&nb討明sp;  作日; 11: &n木刀bsp; &nbs用畫p;imagestring($im,2, $x,$y,"https:制文//www.xxx.com&qu科是ot;, $white);
動在 厭在 12: 道門 志為 &n微坐bsp; $x =20;
公喝 &nb舞南sp; 13: 舊用  舊林; $y =20;
&n數上bsp; 熱下  章吃; 14: }
&nbs報湖p;  懂腦;15: 姐話 imagejpeg($im);
人來 綠就 16: imagedestro白日y($im);
&n車畫bsp; &n畫都bsp; 17: ?>
&nbs讀大p;  農明; 本程序第3行設定本頁面(miàn)輸出類型爲jpeg圖像。
&nbs就動p; &nbs但樂p; 第4行用imagecreateformjpeg()函數打開(kāi北村)了一張圖片pic.jpg,并返家南回此圖片的數據流。
&nb動師sp;  好工; 第5行定義了一個顔色(白色)。
&nbs得我p;  熱愛; 第6~7行用imagesx()和imag也東esy()函數取得圖片pic.jpg的原始尺寸。
&nbs黑數p; &nbs風器p; 第8~9行定義了用于控制文字添加位置的兩(liǎng)個白刀變量。
&nbs友做p; &弟這nbsp;第10~14行用循環向(xià國中ng)圖片中添加多行文字,用$x和$y兩(liǎng)個變量控分東制位置和循環次數。
 和信; 鐘國 第15行輸出此圖片,第16行銷毀數據流城話。
湖亮 &nb有務sp;  在吧; 程序運行前和運行後(hòu)的圖像分雪間别如圖8-24和圖8-25所示。
&少醫nbsp; 話音
圖8-24 原始圖片
圖8-25 程序8-24.php的運行結會你果
自空 &體村nbsp; &nb樹玩sp; 可以看到,處理的後(hòu)的圖片上加入了文字标記,這(zhè高拍)就(jiù)基本達到了處理意圖。但是同時(shí)也可以看出,處弟低理後(hòu)的圖片由于文字的加入影響了裡木圖像的觀賞性。因此水印如何加,加在什麼(m上什e)位置,即能(néng)起(qǐ)到水印的作用,又不嚴重影員務響美觀,才是在處理中最應考慮的。
&雪輛nbsp; 司舊  文城;PHP的圖像處理函數就(jiù)介紹這(zhè)些,希兵電望讀者對(duì)此有一個基本的了解,爲以後(hòu)深入學(xu道他é)習打下基礎。
php提供了豐富的圖像處理函數,主要包來跳括如下幾種(zhǒng): ①獲銀兵取圖像信息的函數 ②創建與銷毀圖像的函數 ③載入圖像的函數 理光④輸出圖像的函數 ⑤分配/取消圖像顔色的函數秒吃 ⑥拷貝圖像的函數 ⑦合并圖像的函數 ⑧繪制線段與圓子章弧的函數 ⑨圖像填充函數
PHP提供了一系列函數來實現在話校網站編程中對(duì)圖像進(jìn)行編輯,其中最爲典型的應用有随刀山機圖形驗證碼、圖片水印、數據統計中餅狀圖、畫喝柱狀圖的生成(chéng)等。
php提供了豐富的圖像處理函數