3D 円グラフ
円グラフ
ずっと何かを出版したいと思っていました。最近、php4 の php_gd.dll を完成させたばかりなので、グラフィック プログラムを作成して遊ぶのが待ちきれません。 PHPで円グラフを作成する例をたくさん見ましたが、それらはすべて2次元だったので、3次元のものを作りたいと思いました。苦労の末、pie3d が完成し、出来上がったものはみんなで共有します。ただし、私は PHP を初めて使用するため、コードが十分に洗練されていない可能性があります。皆さんにアドバイスをいただき、このプログラムを改善するために協力していただければ幸いです。忘れずに (estorm@yeah.net) に通知してください
+------------------------+
| 公開関数| + ------------------------+
define("ANGLE_STEP",5);//楕円弧を描く際の角度ステップを定義する
関数chx_getdarkcolor ($img,$clr){//$clr に対応する暗い色を見つけます
$rgb=imagecolorsforindex($img,$clr);
return array($rgb["red"]/2,$rgb[" green"] /2,$rgb["blue"]/2);
}
function chx_getexy($a,$b,$d){//角度 $d に対応する楕円上の点座標を見つけます
$ d=deg2rad( $d);
return array(round($a*Cos($d)),round($b*Sin($d))); $oy,$ a,$b,$sd,$ed,$clr){//楕円弧関数
$n=ceil(($ed-$sd)/ANGLE_STEP); ($x0, $y0)=chx_getexy($a,$b,$d);
for($i=0;$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);
$x0=$x
}
}
関数 chx_sector($img,$ox,$oy,$a,$ b,$sd ,$ed,$clr){// ファンを描画します
$n=ceil(($ed-$sd)/ANGLE_STEP)
list($x0,$y0); =chx_getexy($a,$b,$d);
イメージライン($img,$x0+$ox,$y0+$oy,$ox,$oy,$clr); $n;$i++ ){
$d=($d+ANGLE_STEP)>$ed?$ed:($d+ANGLE_STEP);
list($x,$y)=chx_getexy($a,$b, $d);
イメージライン($x0+$ox,$y0+$oy,$x+$ox,$y+$oy,$clr);
imageline($img,$x0+$ox,$y0+$oy,$ox,$oy,$clr);
list($x,$y)=chx_getexy($a/2,$b/2,($) d+$sd)/ 2);
imagefill($x+$ox,$y+$oy,$clr);
}
関数 chx_sector3d($img,$ox,$oy,$a,$b, $v,$sd ,$ed,$clr){//3D セクター
chx_sector($img,$ox,$oy,$a,$b,$sd,$ed,$clr); ;180){
list($R,$G,$B)=chx_getdarkcolor($img,$clr)
$clr=imagecolorallocate($img,$R,$G,$B); ;180) $ed =180;
リスト($sx,$sy)=chx_getexy($a,$b,$sd);
$sy+=$oy; $ey)=chx_getexy ($a,$b,$ed);
$ey+=$oy; $clr);
イメージライン($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); =$ox;
imagefill($img,$sx,$sy,$clr);
}
}
function chx_getindexcolor($img,$clr){//RBG をインデックスカラーにします
$R=($clr> >16) & 0xff;
$G=($clr>>8)& 0xff;
return imagecolorallocate($img,$R,$G,$B);
}
? >
+---------------+
| 3 次元の円グラフ ファイル|
+--------------+
require("pie3dfun.php");/ /楕円長半径
$b =50;//楕円セグメント長軸
$v=20;//丸いケーキの高さ
$font=5;//フォント
$ox=5+$a;
$oy=5+$b;
$fh=画像フォントの高さ($font); ,20);//データ
$labLst= array("a1","a2","a3","a4","a5","a6","a7","a8");//タグ
$clrLst=array(0x99ff00,0xff6666,0x0099ff, 0xff99ff,0xffff99,0x99ffff,0xff3333,0x009999);
$w=10+$a*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($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); 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衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









img ファイルを開く方法には、仮想光学ドライブ ソフトウェアを使用する、圧縮ソフトウェアを使用する、特別なツールを使用するなどがあります。詳細な紹介: 1. 仮想光学ドライブ ソフトウェアを使用して、仮想光学ドライブ ソフトウェアを開き、ダウンロードしてインストールします。img ファイルを右クリックし、「プログラムから開く」または「関連プログラム」を選択し、ポップでインストールされている仮想光学ドライブ ソフトウェアを選択します。 -up ダイアログ ボックス、仮想 光学ドライブ ソフトウェアは、img ファイルを自動的にロードし、仮想光学ドライブのディスク イメージとして使用します。仮想光学ドライブのディスク アイコンをダブルクリックして、img ファイルを開いてその内容にアクセスします。等

img ファイルを開く方法: 1. img ファイルのパスを確認します; 2. img ファイル オープナーを使用します; 3. 開く方法を選択します; 4. 画像を表示します; 5. 画像を保存します。 img ファイルは一般的に使用される画像ファイル形式で、通常は画像データを保存するために使用されます。

img はファイル圧縮形式で、主にフロッピー ディスクのイメージ ファイルを作成するために使用されます。フロッピー ディスク全体または CD 全体の内容を圧縮するために使用できます。このファイル形式を使用すると、拡張子「.IMG」のファイルが作成されます。 ; img ファイルには、「Ehfa_HeaderTag」、「Ehfa_File」、「Ehfa_Entry」という 3 つの基本ノードが含まれています。

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

U ディスクは頻繁に使用されるストレージ デバイスの 1 つです。また、使用中にいくつかの小さな問題が発生することがあります。たとえば、U ディスクが読み取れない場合があります。解決方法はありますか? しまってください。 USB フラッシュ ドライブを読み取れませんか?問題を簡単に解決する方法を 4 つのステップで教えます。USB フラッシュ ドライブをコンピューターに挿入したら、[スタート] メニューをクリックし、[コントロール パネル] を選択して、保管してください。 USB フラッシュ ドライブを読み取れませんか?問題を簡単に解決するための 4 つの手順. コントロール パネルで [デバイス マネージャー] を見つけてダブルクリックします。そのままにしておいて! USB フラッシュ ドライブを読み取れませんか?問題を簡単に解決する方法を示す 4 つのステップ: デバイス マネージャーのメイン インターフェイスでユニバーサル シリアル バス コントローラーを見つけて、保管してください。 USB フラッシュ ドライブを読み取れませんか? USB 大容量ストレージ デバイスを簡単に見つけて選択し、右クリックして [アンインストール] を見つけて保管する方法を 4 つのステップで説明します。 USB フラッシュ ドライブを読み取れませんか?問題を簡単に解決する方法を示す 4 つのステップ。ディスカッション用のメッセージを残すことを歓迎します。

jquery で img src 属性を変更する方法: 1. attr() 属性、構文 "$("img").attr("src","イメージ ファイルのアドレス")" を使用します。 2. prop() メソッドの構文は「 $("img").prop("src","画像ファイルのアドレス")」です。

HTML では、イメージ タグは、イメージを定義するために使用されるタグ、つまり「<img>」タグを指します。 img 要素は、Web ページに画像を埋め込むことができます。「<img>」タグは、参照画像のプレースホルダを作成し、画像を HTML ページにリンクするために使用されます。img タグは、src 属性を使用して、Web ページの URL を指定します。画像を表示します。構文「<img src="imageurl">」。

CSS 画像の歪みの解決策: 1. 対応する CSS ファイルを開きます; 2. 元の要素のコンテンツの長さと幅を保持するように「object-fit:none;」を設定します。
