PHP 3 次元円グラフの実装コード
苦労の末、pie3d が完成し、出来上がったものはみんなで共有します。ただし、私は PHP を初めて使用するため、コードが十分に洗練されていない可能性があります。皆さんにアドバイスをいただき、このプログラムを改善するために協力していただければ幸いです。忘れずに私に通知してください (estorm@yeah.net)
------------------------
| function|
------------------------
define("ANGLE_STEP",5);//角度ステップを定義します楕円弧を描く
function chx_getdarkcolor($img,$clr){//$clr
$rgb=imagecolorsforindex($img,$clr)
return array($rgb) に対応する暗い色を見つけます。 ["赤"]/2 ,$rgb["緑"]/2,$rgb["青"]/2);
}
関数 chx_getexy($a,$b,$d){/ /対応する角度を見つけます $d 楕円上の点の座標
$d=deg2rad($d)
return array(round($a*Cos($d)),round($b*Sin($) d)));
}
関数 chx_arc($img,$ox,$oy,$a,$b,$sd,$ed,$clr){//楕円弧関数
$n =ceil(($ed- $sd)/ANGLE_STEP);
$d=$sd
リスト($x0,$y0)=chx_getexy($a,$b,$d); for($i=0; $i$d=($d ANGLE_STEP)>$ed?$ed:($d ANGLE_STEP); $y)=chx_getexy($ a,$b,$d);
imageline($img,$x0 $ox,$y0 $oy,$x $ox,$y $oy,$clr); >$x0=$x;
$y0=$y;
}
}
関数 chx_sector($a,$b,$sd,$ed ,$clr){// ファンを描画します
$n=ceil(($ed-$sd)/ANGLE_STEP);
$d=$sd
list($x0,$y0); chx_getexy($a,$b, $d);
imageline($img,$x0 $ox,$y0 $oy,$ox,$oy,$clr); $i$d=($d ANGLE_STEP)>$ed?$ed:($d ANGLE_STEP);
list($x,$y)=chx_getexy($ a,$b,$d) ;
imageline($img,$x0 $ox,$y0 $oy,$x $ox,$y $oy,$clr);
$y0=$y ;
}
imageline($img,$x0 $ox,$y0 $oy,$ox,$oy,$clr); y)=chx_getexy($a/ 2,$b/2,($d $sd)/2);
imagefill($img,$x $ox,$y $oy,$clr); }
function chx_sector3d($ img,$ox,$oy,$a,$b,$v,$sd,$ed,$clr){//3d セクター
chx_sector($img,$ox, $oy,$a,$b ,$sd,$ed,$clr);
if($sdlist($R,$G,$B)=chx_getdarkcolor($img, $clr);
$ clr=imagecolorallocate($img,$R,$G,$B);
if($ed>180) $ed=180; )=chx_getexy($a,$b,$sd);
$sx =$ox;
$sy =$oy; b,$ed);
$ex =$ox;
$ey =$oy
imageline($img,$sx,$sy,$sx,$sy $v,$clr);
imageline($img, $ex,$ey,$ex,$ey $v,$clr);
chx_arc($img,$ox,$oy $v,$a,$b,$sd ,$ed,$clr);
list($sx,$sy)=chx_getexy($a,$b,($sd $ed)/2);
$sy =$oy $v/2 ;
$sx =$ ox;
imagefill($img,$sx,$sy,$clr)
}
}
関数 chx_getindexcolor($img,$clr); /RBG からインデックスカラーへ
$R=($clr>>16) & 0xff;
$G=($clr>>8)& 0xff; 0xff;
return imagecolorallocate($img,$R,$G,$B);
}
; ---------- --
| //三次元円グラフ ファイル
------------------- -------
require( "pie3dfun.php");
$a=150;//楕円の長半径
$b=50;//楕円セグメントの軸
$v=20;//丸いケーキの高さ
$font=5;//フォント
$ox=5 $a; ;
$fw=imagefontwidth($font);
$fh=imagefontheight($font);
$datLst=array(30,10,20,20,10,20,10, 20);//data
$labLst=array("a1","a2", "a3","a4","a5","a6","a7","a8");//タグ
$clrLst=array(0x99ff00,0xff6666,0x0099ff,0xff99ff,0xffff99,0x99ffff,0xff3333, 0x009999);
$w=10 $a*2;
$h=10 $b*2 $v ($fh 2)*count($datLst);
$img=imagecreate($w ,$h);
//RGB をインデックスカラーに変換します
for($i=0;$i
$clrbk=imagecolorallocate($img,0xff,0xff,0xff);
$clrt =imagecolorallocate($img,0x00,0x00,0x00);
//背景色を塗りつぶします
imagefill($) img,0,0,$clrbk);
//合計
$tot= 0;
for($i=0;$i
$sd=0;
$ed= 0;
$ly=10 $b*2 $v;
for($ i=0;$i $sd=$ed;
$ed =$datLst[$i]/$tot* 360;
//丸いケーキを描きます
chx_sector3d($img,$ox,$ oy,$a,$b,$v,$sd,$ed,$clrLst[$i]);// $sd,$ed,$clrLst[$i]);
//ラベルを描画
imagefilledrectangle($img,5,$ly,5 $fw,$ly $fh,$clrLst[$i]) ;
imagerectangle($img,5,$ly,5 $fw,$ly $fh, $clrt);
imagestring($img,$font,5 2*$fw,$ly,
$labLst[$i].":".$datLst[$i]."(".(round(10000*($datLst[$i]/$tot))/100)."%)",
$clrt);
$ly =$fh 2;
}
/ /出力グラフィックス
header("Content-type:image/gif"); ;
?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。
