16/7/11_PHP-GD庫介紹

來源:互聯網
上載者:User

標籤:

GD庫簡介

GD指的是Graphic Device,PHP的GD庫是用來處理圖形的擴充庫,通過GD庫提供的一系列API,可以對映像進行處理或者直接產生新的圖片。

PHP除了能進行文本處理以外,通過GD庫,可以對JPG、PNG、GIF、SWF等圖片進行處理。GD庫常用在圖片加浮水印,驗證碼產生等方面。

PHP預設已經整合了GD庫,只需要在安裝的時候開啟就行。

header("content-type: image/png");$img=imagecreatetruecolor(100, 100);$red=imagecolorallocate($img, 0xFF, 0x00, 0x00);imagefill($img, 0, 0, $red);imagepng($img);imagedestroy($img);
繪製線條

要對圖形進行操作,首先要建立一個畫布,通過imagecreatetruecolor函數可以建立一個真彩色的空白圖片:

$img = imagecreatetruecolor(100, 100);

GD庫中對於畫筆所用的顏色,需要通過imagecolorallocate函數進行分配,通過參數設定RGB的顏色值來確定畫筆的顏色:

$red = imagecolorallocate($img, 0xFF, 0x00, 0x00);

然後我們通過調用繪製線段函數imageline進行線條的繪製,通過指定起點跟終點來最終得到線條。

imageline($img, 0, 0, 100, 100, $red);

線條繪製好以後,通過header與imagepng進行映像的輸出。

header("content-type: image/png");imagepng($img);

最後可以調用imagedestroy釋放該圖片佔用的記憶體。

imagedestroy($img);

通過上面的步驟,可以發現PHP繪製圖形非常的簡單,但很多時候我們不只是需要輸出圖片,可能我們還需要得到一個圖片檔案,可以通過imagepng函數指定檔案名稱將繪製後的映像儲存到檔案中。

imagepng($img, ‘img.png‘);
在映像中繪製文字

GD庫可以進行多種圖形的基本操作,常用的有繪製線條,背景填充,畫矩形,繪製文字等。

跟繪製線條類似,首先需要建立一個圖片與初始化顏色。

$img = imagecreatetruecolor(100, 100);$red = imagecolorallocate($img, 0xFF, 0x00, 0x00);

然後使用imagestring函數來進行文字的繪製,這個函數的參數很多:imagestring ( resource $image , int $font , int $x , int $y , string $s , int $col ),可以通過$font來設定字型的大小,x,y設定文字顯示的位置,$s是要繪製的文字,$col是文字的顏色。

imagestring($img, 5, 0, 0, "Hello world", $red);header("content-type: image/png");imagepng($img);imagedestroy($img);
輸出影像檔

前面我們已經瞭解到,通過imagepng可以直接輸出映像到瀏覽器,但是很多時候,我們希望將處理好的映像儲存到檔案,以便可以多次使用。通過指定路徑參數將映像儲存到檔案中。

$filename = ‘img.png‘;imagepng($img, $filename);

使用imagepng可以將映像儲存成png格式,如果要儲存成其他格式需要使用不同的函數,使用imagejpeg將圖片儲存成jpeg格式,imagegif將圖片儲存成gif格式,需要說明的是,imagejpeg會對圖片進行壓縮,因此還可以設定一個品質參數。

$filename = ‘img.jpg‘;?imagejpeg($img, $filename, 80);

16/7/11_PHP-GD庫介紹

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.