[Funktion] kleines Problem beim erstellen eines Tortendiagramms

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Funktion] kleines Problem beim erstellen eines Tortendiagramms

    Servus, ich hab grad ein kleines Problem mit dem erstellen eines Kuchendiagrams bzw. mit dessen Beschriftung.

    Das Diagramm wird richtig erstellt, nur an der beschriftung hapert es

    Ich bekomme immer folgenden Fehler
    Warning: Missing argument 4 for fill_arc() in /opt/lampp/htdocs/counter/module/statistik/statistik_tag_browser.php on line 120
    Zeile 120 ist folgende:
    PHP-Code:
    function fill_arc($start$end$color,$wert
    PHP-Code:
        // basis parameter definieren
        
    $winkel=array();
        
    $start = array();
        
    $end=array();
        
        
    // definition der tortenparameter
        
    $diameter 300;
        
    $radius $centerX $centerY =  $diameter/2;
        
        
    // bild anlegen mit weissem hintergrund
        
    $image imagecreate($diameter$diameter);
        
    $background imagecolorallocate($image0xFF0xFF0xFF);
        
        
    // winkel für die einzelnen tortenstücke berechnen
        
    for($i=0;$i<count($werte);$i++)
        {
        
    $winkel[] = round(360*$werte[$i]/100);
        }
        
        
    // start/endpositionen für die tortenstücke ermitteln
        
    $start[] = 0;
        for(
    $i=0;$i<count($winkel);$i++)
        {
        
    $end[] = $start[$i] + $winkel[$i];
          if(
    $i< (count($winkel)-1))
          {
          
    $start[] = $end[$i];
          }
        }
        
        
    // farben definieren, kann/muss man anders lösen => in abhängigkeit zur
        // anzahl der werte
        
    $light = array();
        
    $dark = array();
        
        
    $light[] = imagecolorallocate($image0xC00xC00xC0);
        
    $dark[] = imagecolorallocate($image0x900x900x90);
        
    $light[] = imagecolorallocate($image0x000x000x80);
        
    $dark[] = imagecolorallocate($image0x000x000x50);
        
    $light[] = imagecolorallocate($image0xFF0x000x00);
        
    $dark[] = imagecolorallocate($image0x900x000x00);
        
        
    // flächen der einzelnen torten-elemente füllen

    function fill_arc($start$end$color,$wert) {
    global 
    $diameter$centerX$centerY$image$radius$black;
    imagearc($image$centerX$centerY$diameter$diameter$start$end$color);
    imageline($image$centerX$centerY$centerX cos(deg2rad($start)) * $radius$centerY sin(deg2rad($start)) * $radius $color);
    imageline($image$centerX$centerY$centerX cos(deg2rad($end)) * $radius $centerY sin(deg2rad($end)) * $radius$color);
    imagefill ($image,$centerX $radius 0.5 *cos(deg2rad($start+($end-$start)/2)), $centerY $radius 0.5 sin(deg2rad($start+($end-$start)/2)), $color);

    // beschriftung mit dem prozentwert
    $text=$wert."%";
    $img_x $centerX cos(deg2rad($end)) * ($radius+10);
    $img_y $centerY sin(deg2rad($end)) * ($radius+10);
    $text "x: ".$img_x." | y: ".$img_y// nur zum testen der coords
    ImageTTFText ($image100,$img_x$img_y$color"zubehoer/verdana.ttf"$text);
        
        } 
        
        for(
    $i=0;$i<count($werte);$i++)
        {
         
    fill_arc($start[$i], $end[$i], $light[$i]);
        }


        
    imagepng($image,"temp/gfx_$sess_user_id.png");
        
    imagedestroy($image);
        echo 
    "<br><br><img src='temp/gfx_$sess_user_id.png' border='0'>"
    PHP-Code:
    sss 
    Anwälte in Vulkane werfen -
    Wer anderen eine Bratwurst brät, der besitzt ein Bratwurstbratgerät!

  • #2
    hmm,

    ich seh ein fill_arc mit 3 parametern in einer anderen zeile
    edit: komisch, daß dann bei fehlaufrufen der funktionskopf angezeigt wird, ist mir noch nie aufgefallen ...
    Zuletzt geändert von derHund; 05.07.2004, 14:26.
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      das komsche ist ja das er den 4. Parameter vermisst, aber der ist ja definitiv da
      Anwälte in Vulkane werfen -
      Wer anderen eine Bratwurst brät, der besitzt ein Bratwurstbratgerät!

      Kommentar


      • #4
        Original geschrieben von flyingMiATA
        das komsche ist ja das er den 4. Parameter vermisst, aber der ist ja definitiv da
        wo ist denn hier
        PHP-Code:
        for($i=0;$i<count($werte);$i++)
            {
             
        fill_arc($start[$i], $end[$i], $light[$i]);
            } 
        der vierte parameter?

        mal anders gefragt, um missverständnissen vorzubeugen: die meisten hier denken im dezimalsystem - in welchem du? :-)
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Original geschrieben von wahsaga
          wo ist denn hier
          PHP-Code:
          for($i=0;$i<count($werte);$i++)
              {
               
          fill_arc($start[$i], $end[$i], $light[$i]);
              } 
          der vierte parameter?
          ja, da sind nur 3 Parameter, aber die zeile bemängelt er auch nicht
          Original geschrieben von wahsaga

          mal anders gefragt, um missverständnissen vorzubeugen: die meisten hier denken im dezimalsystem - in welchem du? :-)
          Momentan eher dezimal aber wart mal nächste Woche ab wenn unser Schützenfest um ist ;-)

          Ich habe den Code aus DIESEM Thread verwendet, und dort scheint er zu laufen
          Anwälte in Vulkane werfen -
          Wer anderen eine Bratwurst brät, der besitzt ein Bratwurstbratgerät!

          Kommentar


          • #6
            ja, da sind nur 3 Parameter, aber die zeile bemängelt er auch nicht
            ja, daher auch mein verwundertes edit ... allerdings liegt die zeile in deinem code eher im 60/70 bereich ... ändere die zeile doch mal entsprechend und schau, ob das script dann läuft ...

            edit: vielleicht solltest du im original-thread mal scrollen
            Zuletzt geändert von derHund; 05.07.2004, 14:56.
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              Original geschrieben von derHund
              ja, daher auch mein verwundertes edit ... allerdings liegt die zeile in deinem code eher im 60/70 bereich ... ändere die zeile doch mal entsprechend und schau, ob das script dann läuft ...
              in meinem script stehen ja noch paar zeilen darüber
              Anwälte in Vulkane werfen -
              Wer anderen eine Bratwurst brät, der besitzt ein Bratwurstbratgerät!

              Kommentar


              • #8
                Original geschrieben von flyingMiATA
                in meinem script stehen ja noch paar zeilen darüber
                ach nee, wär ich jetzt nicht drauf gekommen ... es ging mir nur um die tatsache, die ich oben erwähnt hab ...
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  lagere doch mal die funktionsdefinition testweise in ein includefile aus - und schau, wo der fehler dann gemeldet wird.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X