php輸出圖像的方法實(shí)例分析
本文實(shí)例講述了php輸出圖像的方法。分享給大家供大家參考,具體如下:
PHP作為一種Web語(yǔ)言,無(wú)論是解析出的HTML代碼還是二進(jìn)制的圖片,最終都要通過(guò)瀏覽器顯示。應(yīng)用GD2函數(shù)繪制圖像首先需要用header()函數(shù)發(fā)送HTTP頭信息給瀏覽器,告知所要輸出的圖像的類型,然后應(yīng)用imagegif()函數(shù)、imagejpeg()函數(shù)或者imagepng()函數(shù)等分別輸出GIF,JPG和PNG格式的圖片。
header(string,replace,http_response_code)
參數(shù) | 描述 |
---|---|
string | 必需。規(guī)定要發(fā)送的報(bào)頭字符串。 |
replace | 可選。指示該報(bào)頭是否替換之前的報(bào)頭,或添加第二個(gè)報(bào)頭。 默認(rèn)是 true(替換)。false(允許相同類型的多個(gè)報(bào)頭)。 |
http_response_code | 可選。把 HTTP 響應(yīng)代碼強(qiáng)制為指定的值。(PHP 4 以及更高版本可用) |
bool imagegif( resource $image[, string $filename] )
imagegif()函數(shù)從image圖像以filename為文件名創(chuàng)建一個(gè)GIF圖像。image參數(shù)是imagecreate()或imagecreatefromgif()等創(chuàng)建圖像函數(shù)的返回值,圖像格式為GIF。如果應(yīng)用imagecolortransparent()函數(shù),則圖像設(shè)置為透明,格式即為gif。filename參數(shù)為可選,如果省略,則原始圖像流將被直接輸出。
imagejpeg()
和imagepng()
函數(shù)的使用方法與imagegif()
函數(shù)的使用方法類似,這里不再討論。
例如:
首先應(yīng)用header()函數(shù)發(fā)送HTTP頭信息給瀏覽器告知輸出的媒體類型,在這里輸出GIF格式的圖片,然后創(chuàng)建一副192*36像素的畫布,并在畫布上繪制"I Like PHP"的文字,最后應(yīng)用函數(shù)imagegif()輸出所創(chuàng)建的圖像。
<?php header("Content-type:image/gif"); $image = imagecreatetruecolor(192,36); //新建圖像 $trans_color = imagecolorAllocate($image,200,200,200); //分配一個(gè)灰色 imagefill($image,0,0,$trans_color); // 從左上角開(kāi)始填充灰色 $color = imagecolorallocate($image,255,0,255); //設(shè)置圖像中文字的顏色 imagettftext($image,18,0,50,26,$color,"arial.ttf","I Like PHP");//輸出文字 imagegif($image);//輸出圖像 imagedestroy($image);//釋放內(nèi)存空間
運(yùn)行結(jié)果為:
代碼解析:
用imagecreatetruecolor(int x,int y)
建立的是一幅大小為x和y的黑色圖像(默認(rèn)為黑色),如想改變背景顏色則需要用填充顏色函數(shù)imagefill($img,0,0,$color)
;
imagecreate 新建一個(gè)空白圖像資源,用imagecolorallocate()添加背景色
array Imagettftext(int im, int size, int angle, int x, int y, int col, string fontfile, string text);
本函數(shù)將 TTF (TrueType Fonts) 字型文字寫入圖片。參數(shù) size 為字形的尺寸;angle 為字型的角度,順時(shí)針計(jì)算,0 度為水平,也就是三點(diǎn)鐘的方向 (由左到右),90 度則為由下到上的文字;x,y 二參數(shù)為文字的坐標(biāo)值 (原點(diǎn)為左上角);參數(shù) col 為字的顏色;fontfile 為字型文件名稱,亦可是遠(yuǎn)端的文件;text 當(dāng)然就是字符串內(nèi)容了。返回值為數(shù)組,包括了八個(gè)元素,頭二個(gè)分別為左下的x、y 坐標(biāo),第三、四個(gè)為右下角的 x、y 坐標(biāo),第五、六及七、八二組分別為右上及左上的 x、y 坐標(biāo)。
注意此函數(shù)中的fontfile的路徑問(wèn)題,上例中,字體文件和PHP文件處于同一個(gè)目錄中。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《PHP基本語(yǔ)法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- PHP輸出圖像imagegif、imagejpeg與imagepng函數(shù)用法分析
- PHP GD庫(kù)相關(guān)圖像生成和處理函數(shù)小結(jié)
- PHP生成圖像驗(yàn)證碼的方法小結(jié)(2種方法)
- PHP基于phpqrcode生成帶LOGO圖像的二維碼實(shí)例
- PHP GD庫(kù)生成圖像的幾個(gè)函數(shù)總結(jié)
- 使用PHP生成二維碼的兩種方法(帶logo圖像)
- PHP生成驗(yàn)證碼時(shí)“圖像因其本身有錯(cuò)無(wú)法顯示”的解決方法
- php圖像生成函數(shù)之間的區(qū)別分析
- php圖像處理函數(shù)大全(推薦收藏)
- PHP中繪制圖像的一些函數(shù)總結(jié)
- PHP GD 圖像處理組件的常用函數(shù)總結(jié)
相關(guān)文章
php日志函數(shù)error_log用法實(shí)例分析
這篇文章主要介紹了php日志函數(shù)error_log用法,結(jié)合實(shí)例形式分析了php日志函數(shù)error_log相關(guān)的配置文件設(shè)置、函數(shù)功能、用法與使用注意事項(xiàng),需要的朋友可以參考下2019-09-09php setcookie函數(shù)的參數(shù)說(shuō)明及其用法
這篇文章主要介紹了php setcookie函數(shù)的參數(shù)說(shuō)明及其用法,需要的朋友可以參考下2014-04-04幾款免費(fèi)開(kāi)源的不用數(shù)據(jù)庫(kù)的php的cms
下面的幾種內(nèi)容采集系統(tǒng)都是英文版的,全部不需使用數(shù)據(jù)庫(kù),都是國(guó)外的免費(fèi)并且開(kāi)源CMS。對(duì)中文支持如何,你自己試試吧!2010-12-12PHP CURL post數(shù)據(jù)報(bào)錯(cuò) failed creating formpost data
我們有時(shí)候用curl上傳文件遇到failed creating formpost data的錯(cuò)誤,那具體是如何產(chǎn)生,又如何進(jìn)行處理解決呢,下面我們就來(lái)探討下2016-10-10PHP中實(shí)現(xiàn)Bloom Filter算法
這篇文章主要介紹了PHP中實(shí)現(xiàn)Bloom Filter算法,本文直接給出實(shí)現(xiàn)代碼,代碼中給出詳細(xì)注釋,Bloom Filter算法介紹等內(nèi)容,需要的朋友可以參考下2015-03-03基于PHPexecl類生成復(fù)雜的報(bào)表表頭示例
這篇文章主要介紹了基于PHPexecl類生成復(fù)雜的報(bào)表表頭功能,結(jié)合實(shí)例形式分析了實(shí)例化PHPexecl類生成復(fù)雜報(bào)表表頭的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2016-10-10