Ignore:
Timestamp:
2012/05/30 15:39:34 (12 years ago)
Author:
h_yoshimoto
Message:

#1831 Copyrightを更新を誤っているので戻します

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/class/graph/SC_Graph_Pie.php

    r21864 r21866  
    33 * This file is part of EC-CUBE 
    44 * 
    5  * Copyright(c) 2000-2012 LOCKON CO.,LTD. All Rights Reserved. 
     5 * Copyright(c) 2000-2011 LOCKON CO.,LTD. All Rights Reserved. 
    66 * 
    77 * http://www.lockon.co.jp/ 
     
    133133                    $end = $start + $arrRad[$j]; 
    134134                    if ($start == 0 && $end == 360) { 
    135                         // -90~270で指定 
     135                        // -90~270で指定すると円が描画できないので0~360に指定 
     136                        imagearc($this->image, $x, $i, $w, $h, 0, 360, $this->arrDarkColor[($j % $dc_max)]); 
     137                    } else { 
     138                        // -90°は12時の位置から開始するように補正している 
     139                        imagearc($this->image, $x, $i, $w, $h, $start - 90, $end - 90, $this->arrDarkColor[($j % $dc_max)]); 
     140                    } 
     141                    $start = $end; 
     142                } 
     143            } 
     144        } 
     145        // 底面の描画 
     146        imagearc($this->image, $x, $y + $z, $w, $h, 0, 180 , $this->flame_color); 
     147 
     148        // 上面の描画 
     149        $start = 0; 
     150        for ($i = 0; $i < $rd_max; $i++) { 
     151            $end = $start + $arrRad[$i]; 
     152            if ($start == 0 && $end == 360) { 
     153                // -90~270で指定すると円が描画できないので0~360に指定 
     154                imagefilledarc($this->image, $x, $y, $w, $h, 0, 360, $this->arrColor[($i % $c_max)], IMG_ARC_PIE); 
     155            } else { 
     156                // -90°は12時の位置から開始するように補正している。 
     157                imagefilledarc($this->image, $x, $y, $w, $h, $start - 90, $end - 90, $this->arrColor[($i % $c_max)], IMG_ARC_PIE); 
     158            } 
     159            $start = $end; 
     160        } 
     161 
     162        // 上面の縁取り 
     163        $start = 0; 
     164        for ($i = 0; $i < $rd_max; $i++) { 
     165            $end = $start + $arrRad[$i]; 
     166            if ($start == 0 && $end == 360) { 
     167                // -90~270で指定すると円が描画できないので0~360に指定 
     168                imagearc($this->image, $x, $y, $w, $h, 0, 360 , $this->flame_color); 
     169            } 
     170            // -90°は12時の位置から開始するように補正している。 
     171            imagefilledarc($this->image, $x, $y, $w, $h, $start - 90, $end - 90, $this->flame_color, IMG_ARC_EDGED|IMG_ARC_NOFILL); 
     172            $start = $end; 
     173        } 
     174 
     175        // 側面の縁取り 
     176        imageline($this->image, $x + ($w / 2), $y, $x + ($w / 2), $y + $z, $this->flame_color); 
     177        imageline($this->image, $x - ($w / 2), $y, $x - ($w / 2), $y + $z, $this->flame_color); 
     178        $start = 0; 
     179        for ($i = 0; $i < $rd_max; $i++) { 
     180            $end = $start + $arrRad[$i]; 
     181            // 前面のみ 
     182            if ($end > 90 && $end < 270) { 
     183                list($ax, $ay) = $this->lfGetArcPos($x, $y, $w, $h, $end); 
     184                // ラインのずれを補正する 
     185                if ($end > 180) { 
     186                    $ax = $ax + 1; 
     187                } 
     188                imageline($this->image, $ax, $ay, $ax, $ay + $z, $this->flame_color); 
     189            } 
     190            $start = $end; 
     191        } 
     192 
     193        // ラベルの描画 
     194        $this->drawLabel($arrRad); 
     195        // 凡例の描画 
     196        $this->drawLegend(count($this->arrData)); 
     197    } 
     198 
     199    // 円グラフのラベルを描画する 
     200    function drawLabel($arrRad) { 
     201        $rd_max = count($arrRad); 
     202        $start = 0; 
     203        for ($i = 0; $i < $rd_max; $i++) { 
     204            $center = $start + ($arrRad[$i] / 2); 
     205            $end = $start + $arrRad[$i]; 
     206            list($sx, $sy) = $this->lfGetArcPos($this->cx, $this->cy, ($this->cw / 1.5), ($this->ch / 1.5), $center); 
     207            list($ex, $ey) = $this->lfGetArcPos($this->cx, $this->cy, ($this->cw * 1.5), ($this->ch * 1.5), $center); 
     208            // 指示線の描画 
     209            imageline($this->image, $sx, $sy, $ex + 2, $ey - PIE_LABEL_UP, $this->flame_color); 
     210            $this->setText(FONT_SIZE, $ex - 10, $ey - PIE_LABEL_UP - FONT_SIZE, $this->arrLabel[$i], NULL, 0, true); 
     211            $start = $end; 
     212        } 
     213    } 
     214} 
Note: See TracChangeset for help on using the changeset viewer.