溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

php如何輸出圖像

發(fā)布時(shí)間:2021-07-30 14:02:06 來(lái)源:億速云 閱讀:112 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要為大家展示了“php如何輸出圖像”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“php如何輸出圖像”這篇文章吧。

具體如下:

PHP作為一種Web語(yǔ)言,無(wú)論是解析出的HTML代碼還是二進(jìn)制的圖片,最終都要通過(guò)瀏覽器顯示。應(yīng)用GD2函數(shù)繪制圖像首先需要用header()函數(shù)發(fā)送HTTP頭信息給瀏覽器,告知所要輸出的圖像的類(lèi)型,然后應(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(允許相同類(lèi)型的多個(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ù)的使用方法類(lèi)似,這里不再討論。

例如:

首先應(yīng)用header()函數(shù)發(fā)送HTTP頭信息給瀏覽器告知輸出的媒體類(lèi)型,在這里輸出GIF格式的圖片,然后創(chuàng)建一副192*36像素的畫(huà)布,并在畫(huà)布上繪制"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é)果為:

php如何輸出圖像

代碼解析:

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) 字型文字寫(xiě)入圖片。參數(shù) size 為字形的尺寸;angle 為字型的角度,順時(shí)針計(jì)算,0 度為水平,也就是三點(diǎn)鐘的方向 (由左到右),90 度則為由下到上的文字;x,y 二參數(shù)為文字的坐標(biāo)值 (原點(diǎn)為左上角);參數(shù) col 為字的顏色;fontfile 為字型文件名稱(chēng),亦可是遠(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è)目錄中。

以上是“php如何輸出圖像”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI