PHP教程課件:創(chuàng)建圖像_第1頁
PHP教程課件:創(chuàng)建圖像_第2頁
PHP教程課件:創(chuàng)建圖像_第3頁
PHP教程課件:創(chuàng)建圖像_第4頁
PHP教程課件:創(chuàng)建圖像_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

創(chuàng)建圖像創(chuàng)建圖像

基礎知識圖像的生成步驟相關函數(shù)

實例-簡單驗證碼的制作基礎知識

PHP不僅限于只產生HTML的輸出,還可以創(chuàng)建及操作多種不同格式的圖像文件。PHP提供了一些內置的圖像信息函數(shù),也可以使用GD函數(shù)庫創(chuàng)建新圖像或處理已有的圖像。目前GD2庫支持JPEG、PNG和WBMP格式。但不再支持GIF格式。JPEG是一種壓縮標準的名字,通常是用來存儲照片或者存儲具有豐富色彩和色彩層次的圖像。這種格式使用了有損壓縮。PNG是可移植的網絡圖像,對圖像采用了無損壓縮標準。WBMP是專門為無線通訊設備設計的文件格式。但是并沒有得到廣泛應用。圖像的生成步驟在PHP中創(chuàng)建一個圖像應該完成如下所示的4個步驟:1.創(chuàng)建一個背景圖像,以后的操作都基于此背景圖像。2.在背景上繪制圖像輪廓或輸入文本。3.輸出最終圖形4.釋放資源創(chuàng)建背景繪制圖像輸出圖形釋放資源<?php //創(chuàng)建背景圖像

$height=200; $width=200;$im=ImageCreateTrueColor($width,$height); //建立空白背景

$white=ImageColorAllocate($im,255,255,255);//設置繪圖顏色

$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); ?> 相關函數(shù)函數(shù):imagecreate新建一個基于調色板的圖像 語法: resourceimagecreate(intx_size,inty_size)說明:本函數(shù)用來建立一張全空的圖形,返回一個圖像標識符,參數(shù)代表了一幅大小為x_size和y_size的空白圖像。單位為像素(pixel)。函數(shù)Imagecreatetruecolor()是新建一個真彩色圖像,需要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

圖像的坐標x,y(圖像左上角為0,0)處用color

顏色執(zhí)行區(qū)域填充(即與x,y點顏色相同且相鄰的點都會被填充)。函數(shù):imageline()畫一條線段語法:boolimageline(resourceimage,intx1,inty1,intx2,inty2,intcolor) 說明:本函數(shù)用color

顏色在圖像image

中從坐標x1,y1

到x2,y2(圖像左上角為0,0)畫一條線段。

函數(shù):imagestring()

水平地畫一行字符串 語法: boolimagestring(resourceimage,intfont,intx,inty,strings,intcol) 說明:本函數(shù)用col

顏色將字符串s

畫到image

所代表的圖像的x,y

坐標處(這是字符串左上角坐標,整幅圖像的左上角為0,0)。如果font

是1,2,3,4或5,則使用內置字體。函數(shù):imagepng()以PNG格式將圖像輸出到瀏覽器或文件 語法:

boolimagepng(resourceimage[,stringfilename]) 說明:本函數(shù)將GD圖像流(image)以PNG格式輸出到標準輸出(通常為瀏覽器),或者如果用filename

給出了文件名則將其輸出到該文件。 我們將圖像直接輸出到瀏覽器,需包括兩個步驟。首先,需要告訴Web瀏覽器我們輸出的是一個圖像而不是文本或HTML。這可以通過調用Header()函數(shù)指定圖像的MIME類型輸出完成。 Header(‘content-type:image/png’); 第二步就是用函數(shù)ImagePng()輸出圖像數(shù)據(jù)。函數(shù):agedestroy

()

銷毀一圖像 語法:boolimagedestroy(resourceimage) 說明:本函數(shù)釋放與image

關聯(lián)的內存。image

是由圖像創(chuàng)建函數(shù)返回的圖像標識符,例如imagecreatetruecolor()。

實例-簡單驗證碼的制作要求:1:隨機產生4個字符.2:0---9,A---Z,a---z3:將四位字符作為圖像顯示在瀏覽器上.例子:產生隨機數(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;?>日期與時間的管理在PHP中獲取日期與時間PHP與MySQL的日期格式轉換在PHP中計算日期在MySQL中計算日期

在PHP中獲取日期與時間date

--

格式化一個本地時間/日期

格式:stringdate(stringformat[,inttimestamp])

用做標準的日期/時間格式來指定format

參數(shù)。timestamp

按照給定的格式字串而產生的字符串。如果沒有給出時間戳則使用本地當前時間。timestamp

是可選的,默認值為time()。

<?php echodate(“Ymd”);

//輸出當前日期:20070226

echodate(“H:i:s”);

//輸出時間:17:16:17 ?>time

--

返回當前的Unix時間戳

格式:inttime(void)

返回自從Unix紀元(格林威治時間1970年1月1日00:00:00)到當前時間的秒數(shù)。mktime

--

取得一個日期的Unix時間戳

格式:intmktime([inthour[,intminute[,intsecond[,intmonth[,intday[,intyear[,intis_dst]]]]]]])

根據(jù)給出的參數(shù)返回Unix時間戳。時間戳是一個長整數(shù),包含了從Unix紀元(January1197000:00:00GMT)到給定時間的秒數(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

--

取得日期/時間信息格式:arraygetdate([inttimestamp])

返回一個根據(jù)timestamp

得出的包含有日期信息的結合數(shù)組。如果沒有給出時間戳則認為是當前本地時間。數(shù)組中的單元詳見PHP手冊:

<?php

$today=getdate();

print_r($today);

?>checkdate

--

驗證一個格里高里日期

格式:boolcheckdate(intmonth,intday,intyear)

如果給出的日期有效則返回TRUE,否則返回FALSE。檢查由參數(shù)構成的日期的合法性。日期在以下情況下被認為有效:year的值是從1到32767month的值是從1到12Day

的值在給定的month

所應該具有的天數(shù)范圍之內,閏年已經考慮進去了。<?php

var_dump(checkdate(12,31,2000));

var_dump(checkdate(2,29,2001));?>

PHP與MySQL的日期格式轉換MySQL中的日期和時間是以ISO8601標準處理的,從其中獲得時間是相對正常的,但是ISO8601期望輸入的日期首先是年,例如:2007年2月26日應輸入2007-02-26或07-02-26。在PHP中想得到MySQL的日期輸入格式可用date()函數(shù)獲得,注意順序。如果希望在MySQL端進行轉換,可以用兩個函數(shù):DATE_FORMAT()格式化日期和UNIX_TIMESTAMP()獲取UNIX時間戳。SELECTDATE_FORMAT( date_column,’%m%d%Y’)FROMtablename;SELECTUNIX_TIMESTAMP( date_column)FROMtablename;在PHP中計算日期根據(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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論