使用GD2函數繪製幾何圖形(PHP圖形圖像的典型應用教程4)
本篇主要講解使用GD2函數實現幾何圖形的繪製,首先我們需要的事創建一個圖像,在之前的文章中我們就說過了,創建圖像是所有圖像操作的第一步,然後再背景上根據坐標點繪製圖形輪廓,最後輸出圖形!
那麼我們在上一篇《使用影像處理技術產生驗證碼(PHP圖形影像的典型應用教學3)》中介紹如何產生驗證碼,不知道小夥伴們有沒有掌握這個知識點呢,還沒有熟悉的夥伴可以回顧一下!今天我們來講解繪製幾何圖形!
本文技術重點:
在本文中主要使用GD2函數來繪製幾何圖形,其中部分函數在前面的文章中已經進行了詳細的介紹,下面我們對常用的函數進行介紹:
(1) imagecreatetruecolor()函數
該函數用於建議一個全彩的圖片文件資源,函數的語法格式如下:
int imagecreatetruecolor(int x_size,int y_size);
參數x_size和y_size分別為影像的寬,高尺寸,單位為像素(px)。
(2)imagecolorallocate()函數
該函數用於匹配指定圖像的顏色,以供其他繪圖函數適用,該語法格式如下:
int imagecolorallocate(int im, int red, int green, int blue);
參數im 表示影像的handle;參數red,green,blue是彩色RGB三原色,其值是從0至255的整數或十六進位的0x00~0xff。該函數必須被調用,以創建每一種用在 image 所代表的圖像中的顏色。
(3)imagefilledarc()函數
該函數用於繪製一個橢圓並填充,該函數的語法格式如下:
int imagefilledarc(im, int cx , int w, int h, int s, int e, int color, int style);
在im所代表的圖像中以cx,cy(圖像左上角為0, 0)為圓心畫一個橢圓弧。如果成功則回傳 true,失敗則回傳 false。 w 和 h分別指定了橢圓的寬和高,s 和 e 參數以角度指定了起始點和結束點,color代表填滿的顏色值。
style 可以是下列值位元或(OR)後的值:
IMG_ARC_PIE
IMG_ARC_CHORD
IMG_ARC_NOFILL
IMG_ARC_EDGED
IMG_ARC_PIE 和IMG_ARC_CHORD 是互斥的;IMG_ARC_CHORD 只是用直線連接了起直線始和結束點,IMG_ARC_PIE 則產生圓形邊界(如果兩個都使用,IMG_ARC_CHORD生效)。 IMG_ARC_NOFILL 指明弧或弦只有輪廓,不填滿。 IMG_ARC_EDGED 指明用直線將起始和結束點與中心點相連,和 IMG_ARC_NOFILL 一起使用是畫餅狀圖輪廓的好方法(而不用填滿)。
(4)imagefilledrectangle()函數
#該函數用於繪製一個填滿了的矩形,該函數的語法格式如下:
bool imagefilledrectangle ( resource $image , int $x1 , int $y1 , int $x2 , int $y2 , int$color )
#此函數將圖片的封閉長方形區域著色,參數x1,y1以及x2,y2分別為矩形對角線的座標,參數col表示欲塗上的顏色;
(5)imagedestroy( )函數
該函數用於刪除圖形,釋放記憶體空間,語法格式如下:
int imagedestroy(int im);
參數im 為imagecreate()函數,imagecreatetruecolor()函數所建立的圖形!
我們現在來看看如何實作繪製幾何圖形:
#實作過程具體程式碼如下:
<?php header('Content-type: image/png');// 告诉浏览器,这个文件,是一个png图片 $img = imagecreatetruecolor(260, 200);//创建一个400X200的画布 $green = imagecolorallocate($img, 20, 145, 40);//定义一个绿颜色 $darkgreen = imagecolorallocate($img, 25, 80, 25);//定义一个深绿颜色 $blue = imagecolorallocate($img, 0, 225, 205);//定义一个蓝颜色 $darkblue = imagecolorallocate($img, 10, 180, 200);//定义一个深蓝颜色 $red = imagecolorallocate($img, 255, 0, 0);//定义一个红颜色 $bluered = imagecolorallocate($img, 202, 10, 0);//定义一个深红颜色 for($i = 110; $i > 100 ; $i--){ imagefilledarc($img,130,$i,150,100,0,95,$darkgreen,IMG_ARC_PIE); imagefilledarc($img,130,$i,150,100,95,125,$darkblue,IMG_ARC_PIE); imagefilledarc($img,130,$i,150,100,120,360,$bluered,IMG_ARC_PIE); } imagefilledarc($img,130,$i,150,100,0,95,$green,IMG_ARC_PIE); imagefilledarc($img,130,$i,150,100,95,125,$blue,IMG_ARC_PIE); imagefilledarc($img,130,$i,150,100,120,360,$red,IMG_ARC_PIE); imagepng($img);//以png格式输出图像 imagedestroy($img);//释放资源 ?>
輸出結果如下:
使用GD2函數繪製幾何圖形,我們到這裡就介紹完了,相信小夥伴們都可以掌握此項功能,那麼我們下面繼續介紹關於圖像的如何在圖表中添加行和列標籤,具體請閱讀《使用GD2函數向圖表中添加行和列標籤(PHP圖形圖像的典型應用教程5)》!
以上是使用GD2函數繪製幾何圖形(PHP圖形影像的典型應用教學4)的詳細內容。更多資訊請關注PHP中文網其他相關文章!