PHP入門培訓教程PHP培訓教程PHP基礎(chǔ)教程18GD庫圖像處理ppt課件_第1頁
PHP入門培訓教程PHP培訓教程PHP基礎(chǔ)教程18GD庫圖像處理ppt課件_第2頁
PHP入門培訓教程PHP培訓教程PHP基礎(chǔ)教程18GD庫圖像處理ppt課件_第3頁
PHP入門培訓教程PHP培訓教程PHP基礎(chǔ)教程18GD庫圖像處理ppt課件_第4頁
PHP入門培訓教程PHP培訓教程PHP基礎(chǔ)教程18GD庫圖像處理ppt課件_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、回想PHP中常見的錯誤有哪三種?如何開啟文件方式的日志記錄,運用哪個函數(shù)記 錄?什么是時間戳?相關(guān)函數(shù)都有哪些?預習檢查GD庫繪圖都需求哪幾步驟?如何創(chuàng)建一個畫布?如何輸出一個圖像?本章義務(wù)1. PHP中GD庫的運用2. 驗證碼的繪制和運用3. PHP圖片處置縮放、裁剪、水印、旋轉(zhuǎn)和翻轉(zhuǎn)1. PHP中GD庫的運用1.1 GD簡介1.2 畫布管理1.3 設(shè)置顏色1.4 生成圖像1.5 繪制圖像1.6 在圖像中繪制文字1.1 GD簡介PHP 不僅限于只產(chǎn)生 HTML 的輸出,還可以創(chuàng)建及操作多種不同格式的圖像文件。PHP提供了一些內(nèi)置的圖像信息函數(shù),也可以運用GD函數(shù)庫創(chuàng)建新圖像或處置已有的圖像。

2、目前GD2庫支持GIF、JPEG、PNG和WBMP等格式。此外還支持一些FreeType、Type1等字體庫。JPEG 是一種緊縮規(guī)范的名字,通常是用來存儲照片或者存儲具有豐富顏色和顏色層次的圖像。這種格式運用了有損緊縮。PNG 是可移植的網(wǎng)絡(luò)圖像,對圖像采用了無損緊縮規(guī)范。GIF 原義是“圖像互換格式,是一種基于LZW算法的延續(xù)顏色的無損緊縮格式 。GD庫圖像繪制的步驟在PHP中創(chuàng)建一個圖像應(yīng)該完成如下所示的4個步驟:1.創(chuàng)建一個背景圖像也叫畫布,以后的操作都基于此背景圖像。2.在背景上繪制圖像輪廓或輸入文本。3.輸出最終圖形4.釋放資源創(chuàng)建背景繪制圖像輸出圖形釋放資源?php /1. 創(chuàng)建

3、畫布 $im = imageCreateTrueColor(200, 200); /建立空白背景 $white = imageColorAllocate ($im, 255, 255, 255); /設(shè)置繪圖顏色 $blue = imageColorAllocate ($im, 0, 0, 64); /2. 開場繪畫 imageFill($im, 0, 0, $blue); /繪制背景 imageLine($im, 0, 0, 200, 200, $white); /畫線 imageString($im, 4, 50, 150, Sales, $white); /添加字串 /3. 輸出圖像 h

4、eader(Content-type: image/png); imagePng ($im); /以 PNG 格式將圖像輸出 /4. 釋放資源 imageDestroy($im); 1.2 畫布管理 imagecreate - 新建一個基于調(diào)色板的圖像 resource imagecreate ( int x_size, int y_size ) 本函數(shù)用來建立空新畫布,參數(shù)為圖片大小,單位為像素 (pixel)。支持256色。 imagecreatetruecolor - 新建一個真彩色圖像 resource imagecreatetruecolor ( int x_size, int y_

5、size ) 新建一個真彩色圖像畫布 ,需求 GD 2.0.1 或更高版本,不能用于 GIF 文件格式。 imagedestroy - 銷毀一圖像 bool imagedestroy ( resource image ) imagedestroy() 釋放與 image 關(guān)聯(lián)的內(nèi)存。1.3 設(shè)置顏色 imagecolorallocate - 為一幅圖像分配顏色 語法:int imagecolorallocate ( resource image, int red, int green, int blue ) imagecolorallocate() 前往一個標識符,代表了由給定的 RGB 成分

6、組成的顏色。red,green 和 blue 分別是所需求的顏色的紅,綠,藍成分。這些參數(shù)是 0 到 255 的整數(shù)或者十六進制的 0 x00 到 0 xFF。imagecolorallocate() 必需被調(diào)用以創(chuàng)建每一種用在 image 所代表的圖像中的顏色。$im = imagecreatetruecolor(100, 100); /創(chuàng)建畫布的大小為100 x100$red = imagecolorallocate($im,255,0,0); /由十進制整數(shù)設(shè)置一個顏色$white = imagecolorallocate($im, 0 xFF, 0 xFF, 0 xFF);/ 十六進制

7、方式1.4 生成圖片 imagegif - 以 GIF 格式將圖像輸出到閱讀器或文件 語法:bool imagegif (resource image ,string filename ) imagejpeg - 以 JPEG 格式將圖像輸出到閱讀器或文件 語法:bool imagejpeg (resource image ,string filename , int quality ) imagepng - 以 PNG 格式將圖像輸出到閱讀器或文件 語法:bool imagepng (resource image ,string filename ) imagewbmp - 以 WBMP 格

8、式將圖像輸出到閱讀器或文件 語法:bool imagewbmp (resource image , string filename , int foreground ) 1.5 繪制圖像 imagefill - 區(qū)域填充 語法:bool imagefill(resource image,int x,int y, int color) imagefill() 在 image 圖像的坐標 x,y圖像左上角為 0, 0處用 color 顏色執(zhí)行區(qū)域填充即與 x, y 點顏色一樣且相鄰的點都會被填充。 imagesetpixel - 畫一個單一像素 語法:bool imagesetpixel ( re

9、source image, int x, int y, int color ) imagesetpixel() 在 image 圖像中用 color 顏色在 x,y 坐標圖像左上角為 0,0上畫一個點。 imageline - 畫一條線段 語法:bool imageline ( resource image, int x1, int y1, int x2, int y2, int color ) imageline() 用 color 顏色在圖像 image 中從坐標 x1,y1 到 x2,y2圖像左上角為 0, 0畫一條線段。 imagerectangle - 畫一個矩形 語法:bool i

10、magerectangle ( resource image, int x1, int y1, int x2, int y2, int col ) imagerectangle() 用 col 顏色在 image 圖像中畫一個矩形,其左上角坐標為 x1, y1,右下角坐標為 x2, y2。圖像的左上角坐標為 0, 0。 imagefilledrectangle - 畫一矩形并填充 語法:bool imagefilledrectangle ( resource image, int x1, int y1, int x2, int y2, int color ) imagefilledrectan

11、gle() 在 image 圖像中畫一個用 color 顏色填充了的矩形,其左上角坐標為 x1,y1,右下角坐標為 x2,y2。0, 0 是圖像的最左上角。 imagepolygon - 畫一個多邊形 語法:bool imagepolygon ( resource image, array points, int num_points, int color ) imagepolygon() 在圖像中創(chuàng)建一個多邊形。points 是一個 PHP 數(shù)組,包含了多邊形的各個頂點坐標,即 points0 = x0,points1 = y0,points2 = x1,points3 = y1,以此類推。

12、num_points 是頂點的總數(shù)。 imagefilledpolygon - 畫一多邊形并填充 語法:bool imagefilledpolygon ( resource image, array points, int num_points, int color ) imagefilledpolygon() 在 image 圖像中畫一個填充了的多邊形。points 參數(shù)是一個按順序包含有多邊形各頂點的 x 和 y 坐標的數(shù)組。 num_points 參數(shù)是頂點的總數(shù),必需大于 3。 imageellipse - 畫一個橢圓 語法:bool imageellipse ( resource i

13、mage, int cx, int cy, int w, int h, int color ) imageellipse() 在 image 所代表的圖像中畫一個中心為 cx,cy圖像左上角為 0, 0的橢圓。w 和 h 分別指定了橢圓的寬度和高度,橢圓的顏色由 color 指定。 imagefilledellipse - 畫一橢圓并填充 語法:bool imagefilledellipse ( resource image, int cx, int cy, int w, int h, int color ) imagefilledellipse() 在 image 所代表的圖像中以 cx,c

14、y圖像左上角為 0, 0為中心畫一個橢圓。w 和 h 分別指定了橢圓的寬和高。橢圓用 color 顏色填充。假設(shè)勝利那么前往 TRUE,失敗那么前往 FALSE。 imagearc - 畫橢圓弧 bool imagearc ( resource image, int cx, int cy, int w, int h, int s, int e, int color ) imagearc() 以 cx,cy圖像左上角為 0, 0為中心在 image 所代表的圖像中畫一個橢圓弧。w 和 h 分別指定了橢圓的寬度和高度,起始和終了點以 s 和 e 參數(shù)以角度指定。0位于三點鐘位置,以順時針方向繪畫。

15、 imagefilledarc - 畫一橢圓弧且填充 bool imagefilledarc ( resource image, int cx, int cy, int w, int h, int s, int e, int color, int style ) imagefilledarc() 在 image 所代表的圖像中以 cx,cy圖像左上角為 0, 0畫一橢圓弧。假設(shè)勝利那么前往 TRUE,失敗那么前往 FALSE。w 和 h 分別指定了橢圓的寬和高,s 和 e 參數(shù)以角度指定了起始和終了點。style 可以是以下值按位或OR后的值: IMG_ARC_PIEIMG_ARC_CHORD

16、 IMG_ARC_NOFILLIMG_ARC_EDGED1.6 在圖像中繪制文字 imagestring - 程度地畫一行字符串 語法:bool imagestring ( resource image, int font, int x, int y, string s, int col ) imagestring() 用 col 顏色將字符串 s 畫到 image 所代表的圖像的 x,y 坐標處這是字符串左上角坐標,整幅圖像的左上角為 0,0。假設(shè) font 是 1,2,3,4 或 5,那么運用內(nèi)置字體。 imagestringup - 垂直地畫一行字符串 語法:bool imagestri

17、ngup ( resource image, int font, int x, int y, string s, int col ) imagestring()用 col 顏色將字符串 s 垂直地畫到 image 所代表的圖像的 x, y 座標處圖像的左上角為 0, 0。假設(shè) font 是 1,2,3,4 或 5,那么運用內(nèi)置字體。 imagechar - 程度地畫一個字符 語法:bool imagechar ( resource image, int font, int x, int y, string c, int color ) imagechar() 將字符串 c 的第一個字符畫在 i

18、mage 指定的圖像中,其左上角位于 x,y圖像左上角為 0, 0,顏色為 color。假設(shè) font 是 1,2,3,4 或 5,那么運用內(nèi)置的字體更大的數(shù)字對應(yīng)于更大的字體。 imagecharup - 垂直地畫一個字符 語法:bool imagecharup ( resource image, int font, int x, int y, string c, int color ) imagecharup() 將字符 c 垂直地畫在 image 指定的圖像上,位于 x,y圖像左上角為 0, 0,顏色為 color。假設(shè) font 為 1,2,3,4 或 5,那么運用內(nèi)置的字體。 ima

19、gettftext - 用 TrueType 字體向圖像寫入文本 語法 :array imagettftext ( resource image, float size, float angle, int x, int y, int color, string fontfile, string text ) ?php $im = imagecreatetruecolor(400, 30); /創(chuàng)建400 x300像素大小的畫布 $white = imagecolorallocate($im, 255, 255, 255); /創(chuàng)建白色 $grey = imagecolorallocate($i

20、m, 128, 128, 128); /創(chuàng)建灰色 $black = imagecolorallocate($im, 0, 0, 0); /創(chuàng)建黑色 imagefilledrectangle($im, 0, 0, 399, 29, $white); /運用白色作為背景 /假設(shè)有中文輸出,需求將其轉(zhuǎn)碼,轉(zhuǎn)換為UTF-8的字符串才可以直接傳送 $text=iconv(GB2312, UTF-8, LAMP兄弟連無兄弟,不編程!); $font = simsun.ttc; /指定字體,將系統(tǒng)中對應(yīng)字體復制到當前目錄下 imagettftext($im, 20, 0, 12, 21, $grey, $f

21、ont, $text); /輸出灰色字串作為陰影 imagettftext($im, 20, 0, 10, 20, $black, $font, $text); /輸出一個黑色的字符串 header(Content-type: image/png); /通知閱讀器將輸出格式為PNG的圖像 imagepng($im); /向閱讀器中輸出PNG格式的圖像 imagedestroy($im); /銷毀資源,釋放內(nèi)存占用的空間2. 驗證碼的繪制和運用 驗證碼CAPTCHA是“Completely Automated Public Turing test to tell Computers and Hu

22、mans Apart全自動區(qū)分計算機和人類的圖靈測試的縮寫,是一種區(qū)分用戶是計算機和人的公共全自動程序。 運用驗證碼的目的:可以防止:惡意破解密碼、刷票、論壇灌水,有效防止某個黑客對某一個特定注冊用戶用特定程序暴力破解方式進展不斷的登陸嘗試。 驗證碼是如今很多網(wǎng)站通行的方式比如招商銀行的網(wǎng)上個人銀行,百度社區(qū)。 驗證碼的款式也是千奇百態(tài),本節(jié)重點講解運用GD庫繪制圖像的方式。詳細實現(xiàn)步驟 設(shè)計驗證碼的步驟 驗證碼在表單中如何運用3. PHP圖片處置 3.1 圖片背景管理 3.2 圖片縮放和裁剪 3.3 添加圖片水印 3.4 圖片旋轉(zhuǎn)和翻轉(zhuǎn)3.1 圖片背景管理 從指定的圖片文件或 URL地址來新

23、建一個圖像。勝利那么前往一個圖像標識符,失敗時前往一個空字符串,并且輸出一條錯誤信息。由于格式不同,那么需求分別運用對應(yīng)圖片背景處置函數(shù)。 resource imagecreatefrompng ( string filename )從 PNG 文件或 URL 新建一圖像 resource imagecreatefromjpeg ( string filename ) 從 JPEG 文件或 URL 新建一圖像 resource imagecreatefromgif ( string filename 從 GIF 文件或 URL 新建一圖像 resource imagecreatefromwbm

24、p ( string filename )從 WBMP 文件或 URL 新建一圖像 其他圖像處置函數(shù): int imagesx ( resource image )獲得圖像寬度 int imagesy ( resource image ) 獲得圖像高度 array getimagesize ( string $filename , array &$imageinfo )獲得圖像大小、類型等信息3.2 圖片縮放和裁剪 bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x ,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論