Class ImageReport{
var $X;//画像サイズ X 軸
var $Y;//画像サイズ Y 軸
var $R;//背景色 R value
var $G;//...G.
var $B;//...B.
var $TRANSPARENT;//透明かどうか
var $ IMAGE;// 画像オブジェクト
//--------
var $ARRAYSPLIT;//値の区切りに使用する記号を指定します
var $ITEMARRAY; //値
var $REPORTTYPE;//グラフの種類、1 は垂直列、2 は水平列、3 は折れ線
var $BORDER;//距離
//-- ---- -------------
var $FONTSIZE;//フォント サイズ
var $FONTCOLOR;// フォントの色
//------ --パラメータ設定 関数
function setImage($R,$G,$B,$Transparent){
$this->X=$SizeX; ;Y=$ サイズ Y;
$this->R=$R;
$this->B=$B; ->TRANSPARENT =$Transparent;
}
関数 setItem($ArraySplit,$ItemArray,$ReportType,$Border){
$this->ARRAYSPLIT=$ArraySplit; $this->REPORTTYPE=$ReportType;
$this->BORDER=$Border;
}
//---------- ----Body
function PrintReport(){
Header( "Content-type: image/gif")
//キャンバス サイズの作成
$this->IMAGE=ImageCreate($ this->X,$this->Y);
//キャンバスの背景色を設定します
$background=ImageColorAllocate($this->IMAGE,$this->R,$this-> G,$this->B);
if($this->TRANSPARENT= ="1"){
//背景は透明です
Imagecolortransparent($this->IMAGE,$background );
}else{
//透明にしたくない場合は、背景色を塗りつぶすことができます
ImageFilledRectangle($this->IMAGE,0,0,$this->X ,$this->Y,$background);
}
//パラメータのフォント サイズと色
$this->FONTCOLOR=ImageColorAllocate($this->IMAGE,255-$this- >R,255-$this->G,255-$this->B);
Switch ($ this->REPORTTYPE){
case "0":
break; 🎜>ケース "1":
$this->imageColumnS();
ケース " 2":
$this->imageColumnS(); 🎜>case "3":
$this->imageLine();
}
$this->printXY(){
// XY 座標軸を描画*/
$color=ImageColorAllocate($this->IMAGE,255-$this->R,255-$this->G,255 -$this->B); 🎜>$xx=$this->X/10;
$yy=$this->Y-$this->Y/10;
ImageLine ($this->IMAGE,$this) ->BORDER,$this->BORDER,$this->BORDER,$this->Y-$this->BORDER,$color);//X 軸
ImageLine($this-> ;IMAGE,$this->BORDER,$this->Y-$this->BORDER,$this->X-$this->BORDER,$this->Y-$this->; BORDER,$color);//y 軸
//Y 軸のスケール
$rulerY=$this->Y-$this->BORDER;
while($rulerY>$ this->BORDER*2){
$rulerY=$rulerY-$this->BORDER;
ImageLine($this->IMAGE,$this->BORDER,$rulerY,$this- >BORDER-2,$rulerY,$color);
}
//X 軸のスケール
$rulerX=$rulerX $this->while($rulerXX-$this->BORDER*2)){
$rulerX=$rulerX $this->BORDER; ->IMAGE,$this->BORDER,10,$ this->BORDER 10,10,$color);
ImageLine($this->IMAGE,$rulerX,$this->Y- $this->BORDER,$rulerX,$this-> Y-$this->BORDER 2,$color);
}
}
//----- --------縦棒グラフ
function imageColumnS(){
$item_array=Split($this->ARRAYSPLIT,$this->ITEMARRAY);
$num= Count($item_array); >for ($i=0;$i$item_max=Max($item_max,$item_array[$i ]);
}
$xx=$this->BORDER*2;
//画柱形図
for ($i=0;$isrand((double)microtime()*1000000);
if($this->R!=255 && $this->G!=255 && $this->B!=255){
$R=Rand($this->R ,200);
$G=Rand($this->G,200);
$B=Rand($this->B,200);
}else{
$R=Rand(50,200);
$G=ランド(50,200);
$B=ランド(50,200);
}
$color=ImageColorAllocate($this->IMAGE,$R,$G,$B);
//柱状高さ
$height=($this->Y-$this->BORDER)-($this->Y-$this->BORDER*2)*($ item_array[$i]/$item_max);
ImageFilledRectangle($this->IMAGE,$xx,$height,$xx $this->BORDER,$this->Y-$this->BORDER,$color);
ImageString($this->IMAGE,$this->FONTSIZE,$xx,$height-$this->BORDER,$item_array[$i],$this->FONTCOLOR);
//間隔用
$xx=$xx $this->BORDER*2;
}
}
//----------- 横柱形図
function imageColumnH(){
$item_array=Split($this- >ARRAYSPLIT,$this->ITEMARRAY);
$num=Count($item_array);
$item_max=0;
for ($i=0;$i$item_max=Max($item_max,$item_array[$i]);
}
$yy=$this->Y-$this->BORDER*2;
//画柱形図
for ($i=0;$isrand((double)microtime()*1000000);
if($this->R!=255 && $this->G!=255 && $this->B!=255){
$R=Rand($this->R ,200);
$G=Rand($this->G,200);
$B=Rand($this->B,200);
}else{
$R=Rand(50,200);
$G=ランド(50,200);
$B=ランド(50,200);
}
$color=ImageColorAllocate($this->IMAGE,$R,$G,$B);
//柱形长度
$leight=($this->X-$this->BORDER*2)*($item_array[$i]/$item_max);
ImageFilledRectangle($this->IMAGE,$this->BORDER,$yy-$this->BORDER,$leight,$yy,$color);
ImageString($this->IMAGE,$this->FONTSIZE,$leight 2,$yy-$this->BORDER,$item_array[$i],$this->FONTCOLOR);
//間隔を空けるために使用
$yy=$yy-$this->BORDER*2;
}
}
//--------------折線图
function imageLine(){
$item_array=Split($this ->ARRAYSPLIT,$this->ITEMARRAY);
$num=Count($item_array);
$item_max=0;
for ($i=0;$i$item_max=Max($item_max,$item_array[$i]);
}
//$xx=$this->BORDER;
//画柱形図
for ($i=0;$isrand((double)microtime()*1000000);
if($this->R!=255 && $this->G!=255 && $this->B!=255){
$R=Rand($this->R ,200);
$G=Rand($this->G,200);
$B=Rand($this->B,200);
}else{
$R=Rand(50,200);
$G=ランド(50,200);
$B=ランド(50,200);
}
$color=ImageColorAllocate($this->IMAGE,$R,$G,$B);
//柱状高さ
$height_now=($this->Y-$this->BORDER)-($this->Y-$this->BORDER*2)*($ item_array[$i]/$item_max);
if($i!="0"){
ImageLine($this->IMAGE,$xx,$height_next,$xx $this->BORDER,$height_now,$color);
}
ImageString($this->IMAGE,$this->FONTSIZE,$xx $this->BORDER,$height_now-$this->BORDER/2,$item_array[$i] ,$this->FONTCOLOR);
$height_next=$height_now;
//間隔用
$xx=$xx $this->BORDER;
}
}
//-------------- 打印图形の完了http://knowsky.com
function printAll(){
ImageGIF($this->IMAGE);
ImageDestroy($this->IMAGE);
}
//---------------デバッグ
function debug(){
echo "X:".$this->X."
Y: " .$this->Y; ".$this->Y; "
echo "
BORDER:".$this->BORDER; ;
$num=Count($item_array);
echo "
値の数: ".$num."
数値:"; $i ){
echo "
".$item_array[$i];
}
}
}
$report=new ImageReport; ->setImage(600,300,255,255,255,1);//パラメータ(長さ、幅、背景色R、G、B、透明1か0か)
$temparray="50,25,100,250,180,200,150,220,200,150,50,25,10 0,250,180,200,150,220,200,150 ";//指定された記号で区切られた値
$report->setItem(',',$temparray,3,20);//パラメータ (値を区切る指定された記号、数値変数、スタイル 1 は縦方向)縦棒グラフ 2 は水平棒グラフ、グラフ 3 は折れ線グラフ、距離)
$report->setFont(1);//フォント サイズ 1-10
$report->PrintReport();
/ /$report->debug();//デバッグ目的
?>

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

Dreamweaver Mac版
ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

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