Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Visualizzare grafico

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    Visualizzare grafico

    Ciao a tutti,
    ho trovato in rete questa funzione che mi traduce i dati di un array in istogramma.
    In una pagina senza altro output funziona ma se inserisco la funzione in una pagina e chiamo la funzione dopo aver visualizzato altre cose vedo strani simboli e il warning che non può modificare l'intestazione.

    Il problema è senz'altro header("Content-type: image/png"); che alla funzione serve ma anche io prima devo visualizzare dei dati.
    Ho provato anche con ob_start() all'inizio.

    Qualcuno può aiutarmi?

    posto il codice della funzione

    Codice PHP:
    function grafico()
    {
        
    // Add values to the graph
        
    $graphValues=array(0,80,23,11,190,245,50,80,111,240,55);
        
    // Define .PNG image
        
    header("Content-type: image/png");
        
    $imgWidth=250;
        
    $imgHeight=250;
        
    // Create image and define colors
        
    $image=imagecreate($imgWidth$imgHeight);
        
    $colorWhite=imagecolorallocate($image255255255);
        
    $colorGrey=imagecolorallocate($image192192192);
        
    $colorDarkBlue=imagecolorallocate($image104157228);
        
    $colorLightBlue=imagecolorallocate($image184212250);
        
    // Create border around image
        
    imageline($image000250$colorGrey);
        
    imageline($image002500$colorGrey);
        
    imageline($image2490249249$colorGrey);
        
    imageline($image0249249249$colorGrey);
        
    // Create grid
        
    for ($i=1$i<11$i++){
        
    imageline($image$i*250$i*25255$colorGrey);
        
    imageline($image0$i*25255$i*25$colorGrey);
        }
        
    // Create bar charts
        
    for ($i=0$i<10$i++){
        
    imagefilledrectangle($image$i*25, (250-$graphValues[$i]), ($i+1)*25250$colorDarkBlue);
        
    imagefilledrectangle($image, ($i*25)+1, (250-$graphValues[$i])+1, (($i+1)*25)-5248$colorLightBlue);
        }
        
    // Output graph and clear image from memory
        
    imagepng($image);
        
    imagedestroy($image);

    Grazie
    Guidino

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    In pratica tu nella tua pagina (poniamo si chiami grafico.php) avrai qualcosa del genere:

    codice:
    <?php
    grafico();
    ?>
    Un metodo molto banale sarebbe, creare una pagina html, con tutto il testo che vuoi (inserito anche tramite php), poi a un certo punto:

    [img]grafico.php[/img]

    e il gioco è fatto


  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    grafico

    Grazie mille,
    funziona ed essendo una soluzione pulita dovrebbe andare su tutti i browser.

    Guidino

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.