Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Estendere phpGraphLib

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    43

    Estendere phpGraphLib

    Salve a tutti ragazzi,

    vorre iestendere phpGraphLib in modo che posso passare tutti i colori che voglio alla funzione setBarColor e non soltanto tre colori, io vorrei passargli un array chiave valore. Cosi se ho n barre sul grafico non devo scrivere nuovi colori nel codice!!! non so se sono stato chiaro: vi posto le funzioni interessate:

    Codice PHP:
    Sopra ho messo tutte le variabili della classe padre e l'estensione della classe 

     function PHPGraphLibExtended($width='', $height='')
        {
                PHPGraphLib::PHPGraphLib($width,$height);
        }
        function initialize()
        {
                PHPGraphLib::initialize();
        }

          function setBarColor($color, $color2='',$color3='')
        {
                if(!is_array($color)){
                
                PHPGraphLib::setBarColor($color, $color2, $color3);
            } else {
                
                foreach($color as $k => $value) {
                    if(!empty($color)) {
                        $this->setGenericColor($color, '
    $this->multi_bar_colors[]', "Bar color  not specified properly afanculo.");
                    }
                }

                /*$this->setGenericColor($color, '
    $this->multi_bar_colors[]', "Bar color not specified properly.");
                if(!empty($color2)){
                        $this->setGenericColor($color2, '
    $this->multi_bar_colors[]', "Bar color 2 not specified properly.");
                }
                if(!empty($color3)){
                        $this->setGenericColor($color3, '
    $this->multi_bar_colors[]', "Bar color 3 not specified properly.");
                }
                if (!empty($color4)){
                        $this->setGenericColor($color4, '
    $this->multi_bar_colors[]', "Bar color 4 not specified properly.");
                }*/
            }
        }


        function setGenericColor($inputColor, $var, $errorMsg)
        {
                //CAN BE USED FOR MOST COLOR SETTING OPTIONS
                if(!empty($inputColor)&&$arr=$this->returnColorArray($inputColor))
                {
                        eval($var . ' 
    imagecolorallocate($this->image$arr[0], $arr[1], $arr[2]);');
                        return true;
                }
                else
                {
                        $this->error[]=$errorMsg;
                        return false;
                }
        }

        function returnColorArray($color)
        {
                //CHECK TO SEE IF NUMERIC COLOR PASSED THROUGH IN FORM '
    128,128,128'
                
                if(strpos($color,'
    ,')!==false)
                {
                        return explode('
    ,',$color);
                } 
                switch($color)
                {
                        //NAMED COLORS BASED ON W3C'
    s RECOMMENDED HTML COLORS
                        
    case 'black': return array(0,0,0); break;
                        case 
    'silver': return array(192,192,192); break;
                        case 
    'gray': return array(128,128,128); break;
                        case 
    'white': return array(255,255,255); break;
                        case 
    'maroon': return array(128,0,0); break;
                        case 
    'red': return array(255,0,0); break;
                        case 
    'purple': return array(128,0,128); break;
                        case 
    'fuscia': return array(255,0,255); break;
                        case 
    'green': return array(0,128,0); break;
                        case 
    'lime': return array(0,255,0); break;
                        case 
    'olive': return array(128,128,0); break;
                        case 
    'yellow': return array(255,255,0); break;
                        case 
    'navy': return array(0,0,128); break;
                        case 
    'blue': return array(0,0,255); break;
                        case 
    'teal': return array(0,128,128); break;
                        case 
    'aqua': return array(0,255,255); break;
                        case 
    'pastel_orange_1': return array(238,197,145); break;
                        case 
    'pastel_orange_2': return array(238,180,34); break;
                        case 
    'pastel_blue_1': return array(122,197,205); break;
                        case 
    'pastel_green_1': return array(102,205,0); break;
                        case 
    'pastel_blue_2': return array(125,167,217); break;
                        case 
    'pastel_green_2': return array(196,223,155); break;
                        case 
    'clay': return array(246,142,85); break;
                        case 
    'pastel_yellow': return array(255,247,153); break;
                        case 
    'pastel_purple': return array(135,129,189); break;
                        case 
    'brown': return array(166,124,81); break;
                }

            
    $this->error[]="Color name \"$this->$color\" not recogized.";
            return 
    false;
        }

    Mi date una mano??? Grazie!!! 

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    43
    Ragazzi nessuno può darmi una mano???

    Grazieee

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.