




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
創(chuàng)建圖像創(chuàng)建圖像
基礎(chǔ)知識(shí)圖像的生成步驟相關(guān)函數(shù)
實(shí)例-簡單驗(yàn)證碼的制作基礎(chǔ)知識(shí)
PHP不僅限于只產(chǎn)生HTML的輸出,還可以創(chuàng)建及操作多種不同格式的圖像文件。PHP提供了一些內(nèi)置的圖像信息函數(shù),也可以使用GD函數(shù)庫創(chuàng)建新圖像或處理已有的圖像。目前GD2庫支持JPEG、PNG和WBMP格式。但不再支持GIF格式。JPEG是一種壓縮標(biāo)準(zhǔn)的名字,通常是用來存儲(chǔ)照片或者存儲(chǔ)具有豐富色彩和色彩層次的圖像。這種格式使用了有損壓縮。PNG是可移植的網(wǎng)絡(luò)圖像,對(duì)圖像采用了無損壓縮標(biāo)準(zhǔn)。WBMP是專門為無線通訊設(shè)備設(shè)計(jì)的文件格式。但是并沒有得到廣泛應(yīng)用。圖像的生成步驟在PHP中創(chuàng)建一個(gè)圖像應(yīng)該完成如下所示的4個(gè)步驟:1.創(chuàng)建一個(gè)背景圖像,以后的操作都基于此背景圖像。2.在背景上繪制圖像輪廓或輸入文本。3.輸出最終圖形4.釋放資源創(chuàng)建背景繪制圖像輸出圖形釋放資源<?php //創(chuàng)建背景圖像
$height=200; $width=200;$im=ImageCreateTrueColor($width,$height); //建立空白背景
$white=ImageColorAllocate($im,255,255,255);//設(shè)置繪圖顏色
$blue=ImageColorAllocate($im,0,0,64);ImageFill($im,0,0,$blue); //繪制背景
ImageLine($im,0,0,$width,$height,$white);//畫線
ImageString($im,4,50,150,'Sales',$white); //添加字串Header('Content-type:image/png');ImagePng($im); //以PNG格式將圖像輸出
ImageDestroy($im); ?> 相關(guān)函數(shù)函數(shù):imagecreate新建一個(gè)基于調(diào)色板的圖像 語法: resourceimagecreate(intx_size,inty_size)說明:本函數(shù)用來建立一張全空的圖形,返回一個(gè)圖像標(biāo)識(shí)符,參數(shù)代表了一幅大小為x_size和y_size的空白圖像。單位為像素(pixel)。函數(shù)Imagecreatetruecolor()是新建一個(gè)真彩色圖像,需要GD2.0.1或更高版本,不能用于GIF文件格式。函數(shù):imagecolorallocate()為一幅圖像分配顏色語法:intimagecolorallocate(resourceimage,intred,intgreen,intblue)說明:本函數(shù)用來匹配圖形的顏色,供其它繪圖函數(shù)使用。參數(shù)image表示圖形的handle。參數(shù)red、green、blue是色彩三原色,其值從0至255。函數(shù):imagefill()區(qū)域填充顏色 語法:
boolimagefill(resourceimage,intx,inty,intcolor) 說明:本函數(shù)在image
圖像的坐標(biāo)x,y(圖像左上角為0,0)處用color
顏色執(zhí)行區(qū)域填充(即與x,y點(diǎn)顏色相同且相鄰的點(diǎn)都會(huì)被填充)。函數(shù):imageline()畫一條線段語法:boolimageline(resourceimage,intx1,inty1,intx2,inty2,intcolor) 說明:本函數(shù)用color
顏色在圖像image
中從坐標(biāo)x1,y1
到x2,y2(圖像左上角為0,0)畫一條線段。
函數(shù):imagestring()
水平地畫一行字符串 語法: boolimagestring(resourceimage,intfont,intx,inty,strings,intcol) 說明:本函數(shù)用col
顏色將字符串s
畫到image
所代表的圖像的x,y
坐標(biāo)處(這是字符串左上角坐標(biāo),整幅圖像的左上角為0,0)。如果font
是1,2,3,4或5,則使用內(nèi)置字體。函數(shù):imagepng()以PNG格式將圖像輸出到瀏覽器或文件 語法:
boolimagepng(resourceimage[,stringfilename]) 說明:本函數(shù)將GD圖像流(image)以PNG格式輸出到標(biāo)準(zhǔn)輸出(通常為瀏覽器),或者如果用filename
給出了文件名則將其輸出到該文件。 我們將圖像直接輸出到瀏覽器,需包括兩個(gè)步驟。首先,需要告訴Web瀏覽器我們輸出的是一個(gè)圖像而不是文本或HTML。這可以通過調(diào)用Header()函數(shù)指定圖像的MIME類型輸出完成。 Header(‘content-type:image/png’); 第二步就是用函數(shù)ImagePng()輸出圖像數(shù)據(jù)。函數(shù):agedestroy
()
銷毀一圖像 語法:boolimagedestroy(resourceimage) 說明:本函數(shù)釋放與image
關(guān)聯(lián)的內(nèi)存。image
是由圖像創(chuàng)建函數(shù)返回的圖像標(biāo)識(shí)符,例如imagecreatetruecolor()。
實(shí)例-簡單驗(yàn)證碼的制作要求:1:隨機(jī)產(chǎn)生4個(gè)字符.2:0---9,A---Z,a---z3:將四位字符作為圖像顯示在瀏覽器上.例子:產(chǎn)生隨機(jī)數(shù)文件:rand.php顯示圖片:checknumber.phprand.php:<?phpfor($i=0;$i<4;$i++){ $number=rand(0,2); switch($number) { case0:$rand_number=rand(48,57);break;//數(shù)字
case1:$rand_number=rand(65,90);break;//大寫字母
case2:$rand_number=rand(97,122);break;//小寫字母
} $ascii=sprintf("%c",$rand_number); //echo$ascii; $ascii_number=$ascii_number.$ascii;}echo$ascii_number;?>日期與時(shí)間的管理在PHP中獲取日期與時(shí)間PHP與MySQL的日期格式轉(zhuǎn)換在PHP中計(jì)算日期在MySQL中計(jì)算日期
在PHP中獲取日期與時(shí)間date
--
格式化一個(gè)本地時(shí)間/日期
格式:stringdate(stringformat[,inttimestamp])
用做標(biāo)準(zhǔn)的日期/時(shí)間格式來指定format
參數(shù)。timestamp
按照給定的格式字串而產(chǎn)生的字符串。如果沒有給出時(shí)間戳則使用本地當(dāng)前時(shí)間。timestamp
是可選的,默認(rèn)值為time()。
<?php echodate(“Ymd”);
//輸出當(dāng)前日期:20070226
echodate(“H:i:s”);
//輸出時(shí)間:17:16:17 ?>time
--
返回當(dāng)前的Unix時(shí)間戳
格式:inttime(void)
返回自從Unix紀(jì)元(格林威治時(shí)間1970年1月1日00:00:00)到當(dāng)前時(shí)間的秒數(shù)。mktime
--
取得一個(gè)日期的Unix時(shí)間戳
格式:intmktime([inthour[,intminute[,intsecond[,intmonth[,intday[,intyear[,intis_dst]]]]]]])
根據(jù)給出的參數(shù)返回Unix時(shí)間戳。時(shí)間戳是一個(gè)長整數(shù),包含了從Unix紀(jì)元(January1197000:00:00GMT)到給定時(shí)間的秒數(shù)。<?php
echotime(); $nextWeek=time()+(7*24*60*60);
//7days;24hours;60mins;60secs
echo'Now:
'.date('Y-m-d')."\n";
echo'NextWeek:'.date('Y-m-d',$nextWeek)."\n";
echomktime(0,0,0,3,0,2000); echodate("M-d-Y",mktime(0,0,0,12,32,1997));?>getdate
--
取得日期/時(shí)間信息格式:arraygetdate([inttimestamp])
返回一個(gè)根據(jù)timestamp
得出的包含有日期信息的結(jié)合數(shù)組。如果沒有給出時(shí)間戳則認(rèn)為是當(dāng)前本地時(shí)間。數(shù)組中的單元詳見PHP手冊(cè):
<?php
$today=getdate();
print_r($today);
?>checkdate
--
驗(yàn)證一個(gè)格里高里日期
格式:boolcheckdate(intmonth,intday,intyear)
如果給出的日期有效則返回TRUE,否則返回FALSE。檢查由參數(shù)構(gòu)成的日期的合法性。日期在以下情況下被認(rèn)為有效:year的值是從1到32767month的值是從1到12Day
的值在給定的month
所應(yīng)該具有的天數(shù)范圍之內(nèi),閏年已經(jīng)考慮進(jìn)去了。<?php
var_dump(checkdate(12,31,2000));
var_dump(checkdate(2,29,2001));?>
PHP與MySQL的日期格式轉(zhuǎn)換MySQL中的日期和時(shí)間是以ISO8601標(biāo)準(zhǔn)處理的,從其中獲得時(shí)間是相對(duì)正常的,但是ISO8601期望輸入的日期首先是年,例如:2007年2月26日應(yīng)輸入2007-02-26或07-02-26。在PHP中想得到MySQL的日期輸入格式可用date()函數(shù)獲得,注意順序。如果希望在MySQL端進(jìn)行轉(zhuǎn)換,可以用兩個(gè)函數(shù):DATE_FORMAT()格式化日期和UNIX_TIMESTAMP()獲取UNIX時(shí)間戳。SELECTDATE_FORMAT( date_column,’%m%d%Y’)FROMtablename;SELECTUNIX_TIMESTAMP( date_column)FROMtablename;在PHP中計(jì)算日期根據(jù)某人的生日計(jì)算年齡:<?php//setdateforcalculation$day=18;$month=9;$year=1972;//rememberyouneedbdayasdaymonthandyear$bdayunix=mktime('','','',$month,$day,$year);//gettsforthen$nowunix=time();//getunixtsfortoday$ageunix=$nowunix-$bdayunix;//workoutthedifference$age=floor($ageunix
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中班主任德育工作計(jì)劃(7篇)
- 在職黨員雙重管理制度
- 工業(yè)項(xiàng)目標(biāo)準(zhǔn)合同(5篇)
- 監(jiān)理師考試關(guān)鍵試題及答案解析
- 理解云計(jì)算在嵌入式中的應(yīng)用試題及答案
- 進(jìn)入軟件測(cè)試行業(yè)的門檻與要求試題及答案
- 軟件測(cè)試工程師行業(yè)動(dòng)態(tài)解讀試題及答案
- 國際商務(wù)交流與談判題庫試題集匯
- 公路工程現(xiàn)場管理技巧試題及答案
- 2025年新教師崗前培訓(xùn)計(jì)劃范文(5篇)
- openstack云計(jì)算平臺(tái)搭建課件
- 組合邏輯電路設(shè)計(jì)與實(shí)驗(yàn)報(bào)告
- 勞務(wù)實(shí)名制及農(nóng)民工工資支付管理考核試題及答案
- 控制計(jì)劃CP模板
- 安徽省亳州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)及行政區(qū)劃代碼
- 起重設(shè)備(塔吊)安全專項(xiàng)檢查表
- 金融市場學(xué)課件(完整版)
- 預(yù)應(yīng)力鋼筋計(jì)算表格(自動(dòng)版)
- 初始污染菌檢測(cè)原始記錄
- 罪犯教育-身份意識(shí)和改造心態(tài)教育
- 胃腸減壓技術(shù)操作流程.
評(píng)論
0/150
提交評(píng)論