2010-08-22 93 views
1

使用imagefilledpolygon有沒有使用PHP GD繪製明星的方法?使用imagefilledpolygon繪製明星(附圖)

點將被繪製在哪裏?

我相信它涉及正弦和餘弦因爲...

alt text

我如何能與這些點用sine和GD cosine中心

+0

如果將這些點繪製? - 這實際上是一個數學問題。你有沒有碰巧在學校學習? – 2010-08-22 04:45:14

+0

是的,我真的想知道的是數學公式... – 2010-08-22 17:06:02

+0

不錯的例子在這裏http://www.riccardostecca.net/1/?p=37 – SteakOverflow 2015-02-26 14:57:17

回答

3

是的。我建議你閱讀你自己提供的手冊條目,因爲它告訴你你需要做什麼。它甚至給出了一個3點明星的例子,甚至有一個5面明星用戶註釋中的例子。

2

這很容易計算出你需要的點:

<?php 
function drawStar($img,$x,$y,$radius,$sides,$color,$spikness=0.5) 
{ 
$point =array(); 
$t = 0; 
for($a = 0;$a <= 360;$a += 360/($sides*2)) 
{ 
$t++; 
if($t % 2 == 0) 
{ 
$point[] = $x + ($radius * $spikness) * cos(deg2rad($a)); 
$point[] = $y + ($radius * $spikness) * sin(deg2rad($a)); 
}else{ 
$point[] = $x + $radius * cos(deg2rad($a)); 
$point[] = $y + $radius * sin(deg2rad($a)); 
} 
} 
return imagefilledpolygon($img,$point,$sides*2,$color); 
} 
?>