萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php使用GD2繪制幾何圖形示例

php使用GD2繪制幾何圖形示例

小編給大家推薦的這篇文章介紹了php使用GD2繪制幾何圖形示例,非常實用,有興趣的同學快來看看吧。

使用GD2函數不僅可以繪制線條圖形,而且可以繪制填充圖形,如填充圓形,填充矩形等。下面對GD2中常用的填充圖形的繪制方法進行介紹。

bool imagefill( resource image, int x, int y, int color )

imagefill()函數在image圖像的坐標( x, y ) (圖像的左上角為(0,0))處用color顏色執行區域填充(即與(x,y)點顏色相同切相鄰的點都會被填充)。

bool imagefilledarc ( resource image , int cx , int cy , int w , int h , int s , int e , int color , int style )

imagefilledarc() 在 image 所代表的圖像中以 cx,cy(圖像左上角為 0, 0)畫一橢圓弧。成功時返回 TRUE,  或者在失敗時返回 FALSE.w 和 h 分別指定了橢圓的寬和高,s 和 e 參數以角度指定了起始和結束點。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  一起使用是畫餅狀圖輪廓的好方法(而不用填充)。

bool imagefilledellipse ( resource image , int cx , int cy , int w , int h , int color )

imagefilledellipse() 在 image 所代表的圖像中以 cx,cy(圖像左上角為 0, 0)為中心畫一個橢圓。w 和 h 分別指定了橢圓的寬和高。橢圓用 color 顏色填充。成功時返回 TRUE, 或者在失敗時返回 FALSE.

bool imagefilledrectangle( resource image, int x1, int y1, int x2, int y2, int color )

該函數在image圖像中繪制一個用color顏色填充了的矩形, 其左上角坐標為(x1, y1),右下角的坐標為(x2, y2)。(0,0)為圖像的左上角。

例如:應用如上函數,繪制填充圓形和填充正方形,代碼如下

 代碼如下復制代碼

<?php

  header("Content-type: image/png");//將圖像輸出到浏覽器

  $img= imagecreate(400, 200);//創建一個400X200的畫布

  $bg= imagecolorallocate($img, 0, 0, 255);//設置背景顏色

  $white= imagecolorallocate($img, 255, 255 ,255);//設置填充顏色

  imagefilledellipse($img, 100, 100, 150, 150,$white);//繪制填充圓形

  imagefilledrectangle($img, 200, 50, 300, 150,$white);//繪制填充正方形

  imagepng($img);//以png格式輸出圖像

  imagedestroy($img);//釋放資源

運行結果如下所示

copyright © 萬盛學電腦網 all rights reserved