Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [php-gd]

  1. #1

    [php-gd]

    Ciao a tutti, ho bisogno di creare dinamicamente un piccolo grafico con un solo dato:

    esso è creato in questo modo:
    un piccolo box attorno di dimensioni sempre fisse (10x100)
    poi creare all'interno un rettangolo che andrà ad indicare graficamente una percentuale.
    questo rettangolo però deve essere sfumato..

    per cui volevo sapere se qualcuno sapeva come ottenere questo effetto!

    grazie per l'attenzione e saluti!

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    guarda se può funzionare:
    codice:
    header("Content-type: image/jpeg");
    $im = imagecreatetruecolor(10, 100);
    $background = imagecolorallocate($im, 255, 255, 255);
    imagefilledrectangle($im, 0, 0, 10, 100, $background);
    $percentuale=60;
    $temp=127/$percentuale;
    for ($i=1;$i<$percentuale;$i++){
    	$colore = imagecolorallocatealpha($im, 255, 0, 0, $temp*$i);
    	imagefilledrectangle($im, 0, $i, 10, $i+1, $colore);
    	imagecolordeallocate($im, $colore);
    }
    imagejpeg($im);
    imagedestroy($im);

    think simple think ringo

  3. #3
    in realtà mi serviva un gradiente orizzontale, ma ho trovato una funzione sulla documentazione molto funzionale. E' bastato cambiare un attimo qualche cosina per addattarla alla perfezione!

    ora devo far si che questa pagina venga richiamata per ogni record che ho e che mi crei un'immagine dinamicamente..

  4. #4
    ok viene abbastanza bene
    per il momento sto usando la codifica PNG

    aggiungo:
    header("Content-type: image/png");


    e sotto:
    imagepng($image);

    grazie a questo ho notato che la qualità e il peso dell'immagine migliorano!
    L'unica cosa è che nn mi convince il tempo che impiego a visualizzare l'intera pagina (dove ci sono circa 150 piccoli grafici)...

    attualmente richiamo questa pagina usando:
    Codice PHP:
    while($row=mysql_fetch_array($handle)){

    echo 
    $row['username']." - <img src=\"lib_graph.php?value=".$row['punti']."\">
    "
    ;


    è possibile che magari includendo la pagina lib_graph.php con include i tempi diminuiscano??

  5. #5
    up!

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    no, anzi, lo script smetterebbe di funzionare...puoi provare invece a ridurre la qualità delle immagini oppure diminuirne il numero mettendo i risultati in 2 o più pagine...



    think simple think ringo

  7. #7
    si hai ragione, ho capito dopo che la pagina si trasforma in un file jpeg....

    cmq ora sto usando PNG e mi pare sia molto meglio! forse dovrei dividere per pagina l'elenco hai ragione

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.