Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: rozszerzalnosc obrazka + biblioteka GD
Forum PHP.pl > Forum > PHP
misty
Witam!
Mam nastepujacy problem:
tworze pare wykresow przy pomocy biblioteki graficznej GD (na razie sa to tylko wykresy slupkowe). dane do wykresow pobierane sa z bazy danych. obrazek definiuje w ten sposob:
  1. <?php
  2. $szerokosc=440;
  3. $wysokosc=200;
  4.  
  5. $wykres=ImageCreate($szerokosc, $wysokosc);
  6. ?>

to jest moj obrazek, w obrebie ktorego korzystam z takich fkcji jak np ImageRectangle, czy ImageString zeby stworzyc wykres slupkowy. Wszystko jest si, dopoki danych z bazy jest niewiele, tj. dopoki slupki mieszcza sie w obszarze $szerokosc=440. Uzytkownik moze wybrac sobie rozne zakresy ktore chce przejrzec, w zwiazku z tym obrazek ten powinien sie rozszerzac (lub fkcje rysujace slupki i napisy powinny kurczyc sie) w miare przybywania danych.
Czy to sie da wogole zrobic? Jesli nie-moglby mi ktos polecic jakas inna (ale prosta!) bibloteke graficzna?
z gory dzieki,
Pzdr!
Darti
Moze Graph draving class 2 wziete z phpclasses.org ?
misty
no wlasnie w tej biblotece sa bledy sad.gif
Nattfarinn
Jeśli pierw analizujesz dane, a dopiero późnie wyświetlasz, to nie widzę problemu z użyciem standardowej biblioteki. Jeśli po krótkiej analizie wiesz ile słupków ma być, to co za problem modyfikować wymiary obszaru roboczego na przed rysowaniem. Dla przykładu:
Kod
$szerokosc_obszaru = 100 + $szerokosc_slopkow * $ilosc_slupkow;


Jesli chodzi nie o rozszerzanie obszaru, a zawężanie stringów i słupków wewnątrz stałego obszaru, to obawiam się ze stringi staną się nieczytelne. Jeśli chodzi o same słupki, to kierując się merytoryką wykresu obliczasz szerokość słupków (by miec pewność że zmieszczą się w obszarze, zaokrąglasz w dół) i dopiero je rysujesz:
Kod
$szerokosc_slupka = floor($szerokosc_obszaru/$ilosc_slupkow);



PS. Wybaczcie, jeśli trafią się literówki lub bł. ortograficzne. Cierpię na syndrom: "Wczoraj miałem dzień wolny" tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.