您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“php如何輸出圖像”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“php如何輸出圖像”這篇文章吧。
具體如下:
PHP作為一種Web語言,無論是解析出的HTML代碼還是二進制的圖片,最終都要通過瀏覽器顯示。應用GD2函數繪制圖像首先需要用header()函數發送HTTP頭信息給瀏覽器,告知所要輸出的圖像的類型,然后應用imagegif()函數、imagejpeg()函數或者imagepng()函數等分別輸出GIF,JPG和PNG格式的圖片。
header(string,replace,http_response_code)
參數 | 描述 |
---|---|
string | 必需。規定要發送的報頭字符串。 |
replace | 可選。指示該報頭是否替換之前的報頭,或添加第二個報頭。 默認是 true(替換)。false(允許相同類型的多個報頭)。 |
http_response_code | 可選。把 HTTP 響應代碼強制為指定的值。(PHP 4 以及更高版本可用) |
bool imagegif( resource $image[, string $filename] )
imagegif()函數從image圖像以filename為文件名創建一個GIF圖像。image參數是imagecreate()或imagecreatefromgif()等創建圖像函數的返回值,圖像格式為GIF。如果應用imagecolortransparent()函數,則圖像設置為透明,格式即為gif。filename參數為可選,如果省略,則原始圖像流將被直接輸出。
imagejpeg()
和imagepng()
函數的使用方法與imagegif()
函數的使用方法類似,這里不再討論。
例如:
首先應用header()函數發送HTTP頭信息給瀏覽器告知輸出的媒體類型,在這里輸出GIF格式的圖片,然后創建一副192*36像素的畫布,并在畫布上繪制"I Like PHP"的文字,最后應用函數imagegif()輸出所創建的圖像。
<?php header("Content-type:image/gif"); $image = imagecreatetruecolor(192,36); //新建圖像 $trans_color = imagecolorAllocate($image,200,200,200); //分配一個灰色 imagefill($image,0,0,$trans_color); // 從左上角開始填充灰色 $color = imagecolorallocate($image,255,0,255); //設置圖像中文字的顏色 imagettftext($image,18,0,50,26,$color,"arial.ttf","I Like PHP");//輸出文字 imagegif($image);//輸出圖像 imagedestroy($image);//釋放內存空間
運行結果為:
代碼解析:
用imagecreatetruecolor(int x,int y)
建立的是一幅大小為x和y的黑色圖像(默認為黑色),如想改變背景顏色則需要用填充顏色函數imagefill($img,0,0,$color)
;
imagecreate 新建一個空白圖像資源,用imagecolorallocate()添加背景色
array Imagettftext(int im, int size, int angle, int x, int y, int col, string fontfile, string text);
本函數將 TTF (TrueType Fonts) 字型文字寫入圖片。參數 size 為字形的尺寸;angle 為字型的角度,順時針計算,0 度為水平,也就是三點鐘的方向 (由左到右),90 度則為由下到上的文字;x,y 二參數為文字的坐標值 (原點為左上角);參數 col 為字的顏色;fontfile 為字型文件名稱,亦可是遠端的文件;text 當然就是字符串內容了。返回值為數組,包括了八個元素,頭二個分別為左下的x、y 坐標,第三、四個為右下角的 x、y 坐標,第五、六及七、八二組分別為右上及左上的 x、y 坐標。
注意此函數中的fontfile的路徑問題,上例中,字體文件和PHP文件處于同一個目錄中。
以上是“php如何輸出圖像”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。