Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [Pillola] Introduzione a JPGraph

    [PREMESSA]
    JPGraph è una libreria PHP Object Oriented, ovvero utilizza gli oggetti per funzionare.
    Quindi per l'utilizzo di questo codice è necessario avere almeno un'infarinatura sul PHPOO quindi andate a studiare gli articoli riportati in seguito
    Qui ci sono i link:
    http://freephp.html.it/articoli/view_articolo.asp?id=89
    http://freephp.html.it/articoli/view_articolo.asp?id=90
    http://freephp.html.it/articoli/view_articolo.asp?id=91
    http://freephp.html.it/articoli/view_articolo.asp?id=92

    ed infine leggete anche l'articolo su come usare le librerie GD
    http://freephp.html.it/articoli/view_articolo.asp?id=93

    [REQUISITI]
    Per far funzionare questo codice è necessario PHP 4.1.0 o superiore, ma è consigliato, anche dagli stessi sviluppatori di JPGraph di avere ALMENO PHP 4.3.0 o superiore.
    E' necessario avere le librerie GD installate nel sistema. Non ha importanza che siano le 1 o le 2 vanno bene entrambe. L'importante è che l'estensione PHP che usa le GD sia compilata con JPG, PNG, TIF e simili e soprattutto il supporto TTF, ovvero True Type Font.

    Per quanto riguarda i font sui sistemi *nix e *BSD riporto quanto scritto nel sito

    If you are on a Unix platform you can download and install the core MS WEB-initiative fonts from http://corefonts.sourceforge.net/
    Inoltre dalla versione 1.13, noi tratteremo la 1.14, è possibile utilizzare anche i font Vera Bitsream Vera TTF scaricabili da http://www.gnome.org/fonts/

    [LICENZA]
    La licenza è la QPL 1.0, ovvero QT Free Lincense.
    Questa licenza è SOLO se le JPGraph non vengono usate in un'ambito commerciale, se devono essere usate in applicativi che dovete vendere dovete acquistare la licenza professionale.
    Andate sul sito per maggiori informazioni.
    Inoltre, come informazione aggiuntiva, la versione professionale ha anche il supporto per la generazione dei codici a barre.
    Qui trovate alcuni esempi sui codici a barre.
    http://www.aditus.nu/jpgraph/jpg_barcodes.php

    [INSTALLAZIONE]
    Per installarle è necessario scaricare il file .tar.gz dal loro sito.
    Ecco il link:
    http://members.chello.se/jpgraph/jpg...ph-1.14.tar.gz

    Questo si trova nella pagina
    http://www.aditus.nu/jpgraph/jpdownload.php

    Sono presenti anche altre cose e le versioni vecchie di JPGraph

    Dopo aver scaricato il file .tar.gz decomprimete il file. All'interno della cartella decompressa troverete 4 file\cartelle:
    codice:
    [DIR] docs
    [DIR] src
    [TXT] QPL
    [   ] README
    Dentro DOCS ci sta tutta la documentazione, manuale e i riferimenti delle classi
    Dentro src ci stanno i sorgenti e un sacco di esempi
    Il file QPL contiene la licenza, andatela a leggere perché vi permette di capire in quali ambito potete usare le JPGraph
    Ed infine il file README contiene una spiegazione sul contenuto del file compresso, come si installano le librerie e altre cose.
    Per comodità vostra (ovvero vi evito di leggere il file README per eseguire l'installazione) spiego qui velocemente come installare le librerie

    - Dopo aver decompresso il file .tar.gz dovete copiare tutto il contenuto di src esclusa però la directory Examples e il file Changelog nella cartella del progetto dove vi serve usarle. Se volete fare solo esperimenti createvi una cartella, ad es prove e dentro mettete una dir chiamata jpgraph e dentro mettete questi file in modo di non creare troppa confusione.
    - Aprite il file jpgraph.php, uno di quelli che avete appena copiato
    - Ora è necessario impostare la configurazione! Innanzi tutto devono essere impostate le cartelle per la cache e i TTF

    In base al proprio sistema operativo devono essere impostate le cartelle.
    Queste su Linux
    codice:
    DEFINE("CACHE_DIR","/tmp/jpgraph_cache/");
    DEFINE("TTF_DIR","/usr/X11R6/lib/X11/fonts/truetype/");
    Queste su Windows
    codice:
    DEFINE("CACHE_DIR","{$_ENV['TEMP']}/jpgraph_cache/");
    DEFINE("TTF_DIR","{$_ENV['SystemRoot']}/fonts/");
    Ricordate su linux\bsd che quando create la cartella jpgraph_cache dentro temp di impostarla su 0777 altrimenti JPGraph non potrà usare la cache.

    Altri settaggi utili possono essere
    codice:
    // Deafult graphic format set to "auto" which will automatically
    // choose the best available format in the order png,gif,jpg
    // (The supported format depends on what your PHP installation supports)
    DEFINE("DEFAULT_GFORMAT","auto");
    Questo imposta l'output di default, se non volete farlo scegliere a lui potete impostare voi il formato di output

    codice:
    // Should the cache be used at all? By setting this to false no
    // files will be generated in the cache directory.  
    // The difference from READ_CACHE being that setting READ_CACHE to
    // false will still create the image in the cache directory
    // just not use it. By setting USE_CACHE=false no files will even
    // be generated in the cache directory.
    DEFINE("USE_CACHE",false);
    questo, se volete fargli usare la cache, deve essere impostato su TRUE

    ---===[ I M P O R T A N T E ] ===---
    codice:
    DEFINE("CACHE_FILE_GROUP","wwwadmin");
    è di IMPORTANZA VITALE che sia impostato a
    codice:
    DEFINE("CACHE_FILE_GROUP","");
    nei sistemi *nix\bsd altrimenti potreste avere non pochi problemi!!!
    ---===[ I M P O R T A N T E ] ===---

    A questo punto avete appena finito di installare e configurare le librerie JPGraph! Se volete modificare altri settaggi potete andare a leggere il file jpgraph.php è veramente ben commentato!

    Per eventuali problemi leggetevi prima il file README e poi il manuale delle jpgraph

    [UTILIZZO]
    Qui spiegherò uno degli esempi, il primo per l'esattezza.

    codice:
    <?php
      include ("../jpgraph.php");
      include ("../jpgraph_line.php");
    
      // Some data
      $ydata = array(11,3,8,12,5,1,9,13,5,7);
    
      // Create the graph. These two calls are always required
      $graph = new Graph(350,250,"auto");	
      $graph->SetScale("textlin");
    
      // Create the linear plot
      $lineplot=new LinePlot($ydata);
      $lineplot->SetColor("blue");
    
      // Add the plot to the graph
      $graph->Add($lineplot);
    
      // Display the graph
      $graph->Stroke();
    ?>
    Il codice è abbastanza basilare, crea un semplice grafico, nel quale l'ascissa ha una variazione fissa, ovvero di una unità, mentrè l'ordinata ha una variazione dinamica.
    Il codice sopra riportato non fa altro che:

    1° Includere i file necessari di JPGraph
    2° Creare un'elenco dei punti dell'ordinata. Ognuno di questi punti ha una distanza fissa dal precedente di 1U, ovvero una unità.
    3° Imposta la dimensione del grafico e il tipo di cache da usare
    4° Crea la linea basandosi sull'elenco dei punti precedentemente creato ed imposta il colore
    5° Aggiunge al nostro grafico la linea derivata dal nostro elenco dei punti
    6° Ed infine disegna il tutto

    Ora qui spiegherò il codice passo passo
    codice:
    include ("../jpgraph.php");
    include ("../jpgraph_line.php");
    Questo codice non fa altro che includere il file principale delle JPGraph e l'estensione che appunto gestisce le linee

    codice:
    $ydata = array(11,3,8,12,5,1,9,13,5,7);
    Crea l'elenco delle coordinate Y, dell'ordinata, da disegnare in seguito. Anche il nome lascia intendere questo

    codice:
    $graph = new Graph(350,250,"auto");	
    $graph->SetScale("textlin");
    Crea il grafico passandogli come parametro la lunghezza, l'altezza ed il tipo di cache. Sarebbe stato possibile passare anche il TimeOut della cache e se doveva inviare o meno l'immagine direttamente al browser.
    Poi imposta la scala da utilizzare il primo parametro va passato per forza e definisce il tipo di assi. Il tipo di assi chiamato textlin, ovvero un mix tra TEXT e LIN. TEXT una Text Scale applicabile solo all'ascissa mentre LIN indica Linear Scale, ed è per questo che le coordinate sull'ascissa hanno tutte una variazione fissa.
    Andate a guarda il manuale per maggiori riferimento

    codice:
    $lineplot=new LinePlot($ydata);
    $lineplot->SetColor("blue");
    Crea una linea per il grafico. Il costruttore prende 2 parametri di cui il secondo opzionale. Il primo indica la lista delle coordinate Y, ovvero i punti sull'ordinata ed il secondo, se presente, indica la lista dei punti sull'ascissa. Essendo che abbiamo precedentemente impostato lo SCALE a LINEARE non abbiamo bisogno di inserire la lista dei punti sull'ascissa
    La seconda riga imposta il colore della linea

    codice:
    $graph->Add($lineplot);
    aggiunge al nostro grafico la linea appena costruita

    codice:
    $graph->Stroke();
    Disegna il grafico.
    Stroke prende anche un'argomento, ovvero il file dove scrivere il tutto. Ovviamente se viene passato il file questo non verrà stampato a video.

    ok...ho finito
    questo non vuole essere affatto una guida completa, ma solo un'introduzione, uno spunto dal quale partire per poter sviluppare i propri progetti

    ciao a tuttizzzz dal vostro dllz, che adorz linuzzz ^^ (nn vi fate illusioni! :gren: :gren: )

  2. #2
    Piccola aggiunta...dentro la cartella degli esempi di jpgraph è possibile trovare di tutto e soprattutto il codice è MOLTO ben commentato

    Inoltre il manuale di riferimento è strutturato veramente bene! Usatelo parecchio

  3. #3
    :metallica :metallica :metallica
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4

  5. #5
    Utente bannato
    Registrato dal
    Aug 2001
    Messaggi
    696
    la aggiungo :metallica

  6. #6

  7. #7
    bump

    (sto aggiornando la data alle vecchie pillole per evitare che vengano cancellate. non scrivete ca22ate se non avete nulla da dire)
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

  8. #8
    O mamma lo so che non vanno scritte cose stupide e inutili ma mi vedevo disperato...due giorni a provare a far girare sto jpgraph e niente...adesso vengo qua leggo il post e tutto funziona!
    Grazie grazie mille adesso devo far si che i dati utilizzati per creare il grafico vengano presi direttamente dalle tabelle sql e no da dati specificati nel file .php e anche a questo proposito ho visto che esiste già un topic.

    Grazie ancora

  9. #9
    BUMP
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    innanzi tutto grazie a danieleDLL x la guida
    l'ho letta tutta
    ho eseguito tutto alla lettera
    ho provato a visualizzare il tuo esempio
    e mi restituisce questa frase:
    L'immagine “http://www..../paginadovehomessoilcodice.php” non può essere visualizzata poiché contiene degli errori.

    adesso con tutta la buona volontà sono piantato lì....

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 © 2024 vBulletin Solutions, Inc. All rights reserved.