ソースコード:
//+------------------------+
//| pie3dfun.PHP//パブリック関数|
//+----------+
define("ANGLE_STEP", 5) //楕円弧を描くときの角度を定義 ステップサイズ
functiondraw_getdarkcolor($img,$clr) //$clr に対応する暗い色を見つけます
{
$rgb = imagecolorsforindex($img,$clr)
return array($rgb["red"] /2,$rgb["green"]/2,$rgb["blue"]/2);
}
functiondraw_getexy($a, $b, $d) //角度 $ に対応する楕円を見つけますd
{
$d = deg2rad($d);
return array(round($a*Cos($d)),round($b*Sin($d))); の点座標}
functiondraw_arc($img,$ox,$oy,$a,$b,$sd,$ed,$clr) //楕円弧関数
{
$n = ceil(($ed-$ sd)/ANGLE_STEP);
$d = $sd;
list($x0,$y0) =
for($i=0; $i<$ n; $i++)
{
$d = ($d+ANGLE_STEP)>$ed?$ed:($d+ANGLE_STEP);
list($x, $y) =draw_getexy($a, $b, $d);
imageline($img, $x0+$ox, $y0+$oy, $x+$ox, $y+$oy, $clr); = $y;
}
}
functiondraw_sector($img, $ox, $oy, $a, $b, $sd, $ed, $clr) // セクターを描画します
{
$ n = ceil(($ed-$sd)/ANGLE_STEP);
$d = $sd($x0,$y0) =draw_getexy($a, $b, $d); $ img, $x0+$ox, $y0+$oy, $ox, $oy, $clr);
for($i=0; $i
{
$d = ( $ d+ANGLE_STEP)>$ed?$ed:($d+ANGLE_STEP);
list($x, $y) =draw_getexy($a, $b, $d);
imageline($img, $ x0+$ox, $y0+$oy, $x+$ox, $y+$oy, $clr);
$y0 = $y; $ x0+$ox, $y0+$oy, $ox, $oy, $clr);
list($x, $y) =draw_getexy($a/2, $b/2, ($d+$sd)/ 2 );
imagefill($img, $x+$ox, $y+$oy, $clr);
http://www.bkjia.com/PHPjc/446994.html
www.bkjia.com
本当
http://www.bkjia.com/PHPjc/446994.html
技術記事
ソースコード: //+----------+ //| パブリック関数| //+----- --- ---------------+define("ANGLE_STEP", 5); //楕円弧を描くときの角度ステップ関数 dra...
を定義します。