[PHP] bibliotekia pchart - problem z generowaniem wykresu

Witam wszystkich,

od 3 godziny usiłuję wygenerować wykres za pomocą biblioteki pchart dla php. Kod przedstawiam poniżej:

$myData = new pData();

            $myData->addPoints($dane2, "ilosc wezlow");

            $myData->setAxisName(0, "liczba wezlow");

            $myData->addPoints($dane1, "stopien wezla");

            $myData->setSerieDescription("stopien wezla", "stopien");

            $myData->setAbscissa("stopien wezla");

            $myData->setAbsicssaPosition(AXIS_POSITION_BOTTOM);


            $myImage = new pImage(700, 230, $myData);

            $myImage->Antialias = FALSE;

            $myImage->drawGradientArea(0, 0, 700, 230, array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>80,"EndG"=>80,"EndB"=>80,"Alpha"=>100));

            $myImage->drawGradientArea(0,0,700,230,DIRECTION_HORIZONTAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>80,"EndG"=>80,"EndB"=>80,"Alpha"=>20));

            $myImage->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0)); 


            $myImage->setFontProperties(array("FontName"=>"./Library/fonts/pf_arma_five.ttf","FontSize"=>6));


            $myImage->setGraphArea(60, 40, 650, 200);


            $scaleSettings = array("GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);

            $myImage->drawScale($scaleSettings);


            $myImage->setShadow(TRUE,array("X"=>1,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));


            $settings = array("Surrounding"=>-30,"InnerSurrounding"=>30,"Interleave"=>0);


            $myImage->drawBarChart($settings);


            $myImage->setShadow(FALSE);

            $myImage->drawFilledRectangle(0,174,700,230,array("R"=>0,"G"=>0,"B"=>0));


            $myImage->drawAreaMirror(0, 174, 700, 48);


            $myImage->drawLine(1,174,698,174,array("R"=>80,"G"=>80,"B"=>80));


            $myImage->autoOutput("wykres.png");

Niestety przeglądarka wywala mi krzaki. GD mam zainstalowane i włączone. Korzystam z apache i php. Powyższy kod jest przerobka kodu znajdujacego się pod adresem: http://wiki.pchart.net/doc.misc.drawareamirror.html Niestety nawet przekopiowanie kodu z tamtej strony nic daje - również pojawiają się krzaki. Będę wdzięczny za pomoc.

Fantastycznie. Zdefiniuj “krzaki”.

A tymczasem właściwie to ten przykład (jakoś, coś) działa, ale użyłem swojej magicznej kuli i mam na początek następujące porady i/lub pytania …

$myImage->autoOutput("wykres.png");[/code]

ale wiesz, że:

http://wiki.pchart.net/doc.faq.script.output.html

Jeżeli wykonasz ten kod jako stronę, przy użyciu przeglądarki nie utworzy Ci pliku “wykres.png” tylko wyśle wynik (obrazek) do użytkownika.

[code=php]$myImage->setFontProperties(array(“FontName”=>"./Library/fonts/pf_arma_five.ttf",“FontSize”=>6));

Masz pewność, że tam (w tej lokalizacji) się znajduje taki plik? Wielkość liter się zgadza w ścieżce?

include()-ujesz odpowiednie biblioteki (klasy) należące do pChart? Na pewno podajesz do nich prawidłowe ścieżki? Coś jak wyżej.

Kopiujesz z głową? Tam też kod zawiera pewne ścieżki, które muszą się zgadzać.

Mieszasz kod renderowania tego obrazka z czymkolwiek innym, przy okazji?

Nie nadpisujesz przypadkiem nagłówka Content-type, który pChart zastosował za Ciebie?

Nie próbujesz go wyświetlić wraz z innymi danymi (tekstem, obrazkami)?

ścieżki są prawidłowe, sprawdziłem je kilka razy. Zamiast include korzystam z require_once. W takim razie jak wygenerować plik z wynikiem aby przeglądarka tego nie próbowała otworzyć/nraysować.

Edytowałem poprzedni post zadając dodatkowe pytania, a w międzyczasie odpowiedziałeś. Możesz jeszcze na nie spojrzeć, co doszło.

Co do nowego pytania,

http://wiki.pchart.net/doc.faq.script.output.html

$myPicture->render("mypic.png");[/code]

Problem rozwiązany - jedno głupie echo w php bałaganiło…

Dodane 06.04.2012 (Pt) 22:07

korzystając jeszcze z Twojej pomocy 177 - powiedz mi, Tobie rysował się ten górny pasek wyznaczające dane w tym przypadku nazwy miesięcy?