Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Php Gd

  1. #1

    Php Gd

    salve a tutti con la libreria gd chi mi sa dire come posso realizzare una cosa simi all'img uppata??

    la teoria di quello che avrei in mento è questo dare un limite ad esempio 100 poi a secondo del valore che la classe riceve genera la singola img ( il valore la prende dal db )...qualcuno che mi sa indicare qualcosa tramite link e esempi???


    grazie in anticipi
    Immagini allegate Immagini allegate

  2. #2

  3. #3
    nessuno sa dirmi nulla???

  4. #4
    in effetti quello che mi deve realizzare è una colonna verticale colorata il resto che vedete nell'img è un img di sfondo...

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da SuperSavio
    in effetti quello che mi deve realizzare è una colonna verticale colorata il resto che vedete nell'img è un img di sfondo...
    Benissimo, allora crei una immagine di sfondo, per esempio in formato png, quindi la carichi con imagecreatefrompng() poi ci disegni sopra e alla fine la mandi in output con imagepng().
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    come ci disegno sopra??

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Esempio:

    prendiamo questa immagine png true-color che ho appena creato.


    Poi facciamo uno script come questo:
    codice:
    <?php
    $values = array (48, 72, 88, 22);
    
    $img = @imagecreatefrompng ("{$_SERVER['DOCUMENT_ROOT']}/test/bars.png");
    
    if ($img)
    {
        for ($i = 0; $i < 4; $i++)
        {
            switch ($i)
            {
                case 0:  $clr = imagecolorallocate ($img, 255, 0, 0);  break;
                case 1:  $clr = imagecolorallocate ($img, 0, 255, 0);  break;
                case 2:  $clr = imagecolorallocate ($img, 0, 0, 255);  break;
                case 3:  $clr = imagecolorallocate ($img, 255, 128, 0);  break;
            }
    
            $x1 = $i * 19 + 3;
            $y1 = 96 - $values[$i] * 94 / 100 + 1;
            $x2 = $x1 + 12;
            $y2 = 96;
    
            imagefilledrectangle ($img, $x1, $y1, $x2, $y2, $clr);
        }
    
        header ("Content-type: image/png");
        imagepng ($img);
        imagedestroy ($img);
        exit (0);
    }
    ?>
    Nota che i valori li ho messi fissi, ma si possono prendere, chiaramente da un database o da qualunque altra parte!.

    Risultato una volta richiamato lo script dal browser:

    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    perfetto ti ringrazio per il codice e l'aiuto...un'altra domanda per fare le sfumatura come quello postato da me come si fa??

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da SuperSavio
    perfetto ti ringrazio per il codice e l'aiuto...un'altra domanda per fare le sfumatura come quello postato da me come si fa??
    Dall'immagine che hai postato si nota che il gradiente parte dal basso con un colore, arriva ad un secondo colore nel mezzo e finisce con il colore originale in alto. E che la progressione del gradiente è proporzionale alla lunghezza della barra (in pratica proporzionale al "valore" della barra). Nell'esempio il gradiente è più compresso per il 4° rispetto al 1°.

    Si può quindi pensare di fare il "blending" tra i due colori. Ognuna delle tre componenti dei colori, cioè r, g e b, va quind interpolata con la classica funzione:

    z = x * (1.0 - i) + y * i

    dove 'x' è una componente del primo colore, 'y' la componente del secondo colore e 'i' è un valore che va da 0.0 a 1.0 (se vuoi si può ovviamente scalare nel range da 0 a 100).

    Credo di non dovertelo ripetere 2 volte che quindi c'è da fare un po' di calcoli, calcoli e ancora ... calcoli.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    ci ho provato e riprovato ma nulla nn ci riesco...mi potete aiutare...questa è l'img che uso come base nn riesco ad allargare posizione distanziare come si deve uffy
    Immagini allegate Immagini allegate
    • Tipo di file: png p.png‎ (19.5 KB, 19 visualizzazioni)

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.