ホームページ >バックエンド開発 >PHPチュートリアル >PHP で生成された画像が表示されないのはなぜですか?

PHP で生成された画像が表示されないのはなぜですか?

WBOY
WBOYオリジナル
2016-06-13 13:27:32850ブラウズ

PHP で生成された画像が表示されないのはなぜですか?
//+----------------------+
// | pie3dfun .PHP//パブリック関数
//+----------------------+
define("ANGLE_STEP", 3) ); //楕円弧を描くときの角度ステップを定義します
define("FONT_USED", "C:WINDOWSFontssimhei.ttf") // 使用するフォント ファイルの場所
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) =draw_getexy($a,$b,$d); =0; $i{
$d = ($d+ANGLE_STEP)>$ed?$ed:($x, $y) =draw_getexy( $a, $b, $d); imageline($img, $x0+$ox, $y0+$oy, $x+$ox, $y+$oy, $clr); >$x0 = $x ;
$y0 = $y;
}
}
関数draw_sector($img, $ox, $oy, $a, $b, $sd, $ed , $clr) // ファンを描画します
{
$n = ceil(($ed-$sd)/ANGLE_STEP);
$d = $sd>list($x0,$); y0) =draw_getexy($a , $b, $d);
imageline($img, $x0+$ox, $y0+$oy, $ox, $oy, $clr); =0; $i{
$d = ($d+ANGLE_STEP)>$ed?$ed:($x, $y) =draw_getexy($ a, $b, $d);
imageline($img, $x0+$ox, $y0+$oy, $x+$ox, $y+$oy, $clr); >$x0 = $x;
$y0 = $y;
imageline($img, $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); }
functiondraw_sector3d($img, $ox, $oy, $a, $b, $v, $sd, $ed, $clr) //3d セクター
{
draw_sector($img, $ox, $oy, $a, $b, $sd, $ed, $clr);
if($sd{
list($R) , $G, $B) =draw_getdarkcolor($img, $clr);
$clr=imagecolorallocate($img, $R, $G, $B);
if($ed>180); = 180;
リスト ($sx, $sy) =draw_getexy($a,$b,$sd);
$sy += $oy; list($ex, $ey ) =draw_getexy($a, $b, $ed);
$ex += $ox;
$ey += $oy; sx, $sy, $sx , $sy+$v, $clr);
imageline($img, $ex, $ey, $ex, $ey+$v, $clr); , $ox, $oy+$ v, $a, $b, $sd, $ed, $clr);
list($sx, $sy) =draw_getexy($a, $b, ($sd+$ed) )/2); $sy += $oy+$v/2;
$sx += $ox; }
}
functiondraw_getindexcolor($img, $clr) //RGB をインデックスカラーに変換します
{
$R = ($clr>>16) & 0xff; $clr>>8)& 0xff;
$B = ($clr) & 0xff;
return imagecolorallocate($img, $R, $G, $B);
// main 関数を描画し、画像を出力します
// $datLst はデータ配列、$datLst はラベル配列、$datLst はカラー配列
// 上記 3 つの配列の次元は等しい必要があります
関数draw_img($datLst,$labLst,$clrLst ,$a=200,$b=90,$v=20,$font=10)
{
$ox = 5+$a; >$oy = 5+$b;
$fw = imagefontwidth($font);
$n = count($datLst);項目
$w = 10+$a* 2;
$h = 10+$b*2+$v+($fh+2)*$n;
$img = imagecreate($w, $h);
//RGB をインデックスカラーに変換
for($i=0; $i$clrLst[$i] =draw_getindexcolor($img,$clrLst) [$i]);
$clrbk = imagecolorallocate($img, 0xff, 0xff, 0xff);
$clrt = imagecolorallocate($img, 0x00, 0x00, 0x00); color
imagefill($img, 0, 0, $clrbk);
//合計
$tot = 0;
for($i=0; $i

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。