您好,登錄后才能下訂單哦!
這篇文章主要介紹“PHP中如何繪制多邊形、弧形和橢圓”,在日常操作中,相信很多人在PHP中如何繪制多邊形、弧形和橢圓問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”P(pán)HP中如何繪制多邊形、弧形和橢圓”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
經(jīng)過(guò)之前的文章講述,PHP繪制基本的圖形已經(jīng)了解了,其中就有怎樣去繪制矩形,既然矩形能繪制的話,那三角形、五邊形又應(yīng)該怎樣去繪制呢?那么接下來(lái)我們來(lái)了解一下,PHP中應(yīng)該怎樣去繪制多邊形。
繪制多邊形
跟繪制矩形時(shí)有些相似,繪制多邊形也有兩個(gè)函數(shù)可以完成,就是 imagepolygon()
函數(shù)和 imagefilledpolygon()
函數(shù),它們的語(yǔ)法格式如下:
imagepolygon(resource $image, array $points, int $num_points, int $color) imagefilledpolygon(resource $image, array $points, int $num_points, int $color)
之所以說(shuō)和矩形的兩個(gè)函數(shù)相似是因?yàn)?,imagepolygon()函數(shù)后面的顏色是繪制多邊形邊線的顏色,imagefilledpolygon()函數(shù)后面的顏色是繪制多邊形內(nèi)部填充的顏色。
在語(yǔ)法中,$image表示的是畫(huà)布 ;$points 是一個(gè)數(shù)組;第三個(gè)參數(shù) $num_points 用來(lái)設(shè)置多邊形的頂點(diǎn)數(shù),必須大于 3。
示例如下:
<?php $img = imagecreate(300, 150); imagecolorallocate($img, 255, 255, 255); $green = imagecolorallocate($img, 0, 255, 0); $blue = imagecolorallocate($img, 0, 0, 255); $points1 = array( 255,35, 250,15, 295,56, 233,115, 185,77 ); $points2 = array( 10,5, 100,15, 140,66, 70,135, 25,77 ); imagepolygon($img, $points1, rand(3, 5), $blue); imagefilledpolygon($img, $points2, rand(3, 5), $green); header('Content-type:image/jpeg'); imagejpeg($img); imagedestroy($img); ?>
輸出結(jié)果:
繪制橢圓
在PHP中可以通過(guò)imageellipse()
函數(shù)來(lái)繪制一個(gè)橢圓,與繪制多邊形類似也可以通過(guò)imagefilledellipse()
函數(shù)來(lái)繪制橢圓并且進(jìn)行填充.它們的語(yǔ)法格式如下:
imageellipse(resource $image, int $x, int $y, int $width, int $height, int $color) imagefilledellipse(resource $image, int $x, int $y, int $width, int $height, int $color)
其中,其中 $x 和 $y 分別代表橢圓圓心的橫縱坐標(biāo);$width 和 $height 分別代表橢圓的寬度和高度,后面的$colorb分別代表了橢圓的邊線顏色和橢圓的填充顏色。
示例如下:
<?php $img = imagecreate(300, 150); imagecolorallocate($img, 255, 255, 255); $green = imagecolorallocate($img, 0, 255, 0); $blue = imagecolorallocate($img, 0, 0, 255); imagefilledellipse($img, 75, 75, 120, 80, $green); imageellipse($img, 225, 75, 90, 120,$blue); header('Content-type:image/jpeg'); imagejpeg($img); imagedestroy($img); ?>
輸出結(jié)果:
繪制弧線
在PHP中可以通過(guò) imagearc()
函數(shù)和 imagefilledarc()
函數(shù)來(lái)進(jìn)行繪制一條弧線或者圓形,其中不同的是,imagearc() 函數(shù)繪制弧線的顏色是邊線顏色,imagefilledarc() 函數(shù)繪制弧線會(huì)填充。它們的語(yǔ)法格式如下:
imagearc(resource $image, int $x, int $y, int $width, int $height, int $start, int $end, int $color) imagefilledarc(resource $image, int $x, int $y, int $width, int $height, int $start, int $end, int $color, int $style)
其中 $x 和 $y 分別表示為圓弧中心點(diǎn)的橫縱坐標(biāo);$width 和 $height 分別表示為圓弧的寬度和高度;$start 和 $end 分別代表圓弧的起點(diǎn)角度和終點(diǎn)角度。
其中還有我們需要注意的是,imagefilledarc() 函數(shù)比 imagearc() 函數(shù)多了一個(gè) $style 參數(shù),這個(gè)參數(shù)是用來(lái)設(shè)置顏色的填充類型的。它有以下幾種:
IMG_ARC_PIE
:普通填充,產(chǎn)生圓形邊界;
IMG_ARC_CHORD
:只使用直線連接起點(diǎn)和終點(diǎn),需要注意的是它與 IMG_ARC_PIE 互斥;
IMG_ARC_NOFILL
:指明弧或弦只有輪廓,不填充;
IMG_ARC_EDGED
:用直線將起始和結(jié)束點(diǎn)與中心點(diǎn)相連。
示例如下:
<?php $img = imagecreate(300, 100); imagecolorallocate($img, 255, 255, 255); $blue = imagecolorallocate($img, 0, 0, 255); imagearc($img, 100, 50, 50, 80, 0, 270, $blue); imagefilledarc($img, 200, 55, 80, 30, 130, 100, $blue, IMG_ARC_EDGED|IMG_ARC_NOFILL); header('Content-type:image/jpeg'); imagejpeg($img); imagedestroy($img); ?>
輸出結(jié)果:
到此,關(guān)于“PHP中如何繪制多邊形、弧形和橢圓”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(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)容。