• User

    Creare più immagini contemporaneamente can valori diversi

    Ho bisogno ancora di un Vs. aiuto
    come modificare questo script al fine di far generare 3 immagini con nome diverso, es.
    ( img1.png , img2.png , img3.png )
    e che ognuna contenga i valori dei
    ( $dati, $dat2, $dati3 )

    [php]// valore testo
    $dati = ("$valore1[2]"); // dati da tabelle diversa
    $dati2= ("$valore2[2]"); // dati da tabelle diversa
    $dati3= ("$valore3[2]"); // dati da tabelle diversa

    // colore sfondo

    if($dati >5 && $dati<10 ){
    $r= 127; $g= 255; $b= 212;
    $r1= 255; $g1= 255; $b1= 255;
    }
    if($dati >10 && $dati20 ){
    $r= 124; $g= 252; $b= 0;
    $r1= 255; $g1= 255; $b1= 255;
    }
    .
    .
    .
    .
    // colore testo

    // crea immagine 50*15
    $im = imagecreate(50, 15);
    // sfondo all' immagine
    $background = imagecolorallocate($im, $r, $g, $b);
    // testo color bianco
    $textcolor = imagecolorallocate($im, $r1, $g1, $b1);
    imagestring($im, 2, 4, 0, $dati, $textcolor);

    //Creamo un'immagine .PNG
    header("Content-type: image/jpeg");
    imagejpeg($im);
    imagejpeg($im, "img.png");
    //Finiamo con il distruggere l'immagine temporanea
    imagedestroy($im);[/php]


  • User Attivo

    Un piccolo sguardo ed una semplice intuizione.

    Con un ciclo for puoi creare quante immagini vuoi e chiamarle in modo diverso.
    Adesso ti do uno spunto il resto lo metterai tu.

    [php]<?php
    $NUM = 3; // QUANTE IMMAGINI VUOI CREARE
    $NOME = "img_"; // NOME STATICO IMMAGINI
    $EXT = "png"; // ESTENSIONE IMMAGINI
    for ($X = 1; $X <= $NUM; $X++)
    {
    echo $NOME . $X . "." . $EXT . "<br>";
    }

    ?>[/php]

    Spero ti sia stato di aiuto altrimenti a risentirci.


  • User

    Dove sto sbagliando?

    [php]
    $percorso_file1 = ('dati1.txt');
    $file1 = fopen($percorso_file1,rb);
    $riga1 = fread($file1,1024);
    $valore1 = explode(" ",$riga1); fclose($file1);

    $percorso_file2 = ('dati2.txt');
    $file2 = fopen($percorso_file2,rb);
    $riga2 = fread($file2,2048);
    $valore2 = explode(';',$riga2); fclose($file2);

    $percorso_file3 = ('dati3.html');
    $file3 = fopen($percorso_file3,rb);
    $riga3 = fread($file3,1024);
    $valore3 = explode(";",$riga3); fclose($file3);

    $NUM = 3; // QUANTE IMMAGINI VUOI CREARE
    $NOME = "img_"; // NOME STATICO IMMAGINI
    $EXT = "png"; // ESTENSIONE IMMAGINI
    for ($X = 1; $X <= $NUM; $X++)
    {
    $valore.$X = ("$valore.$X[2]"); // dati da tabelle diversa
    //echo $NOME . $X . "." . $EXT . "<br>";
    }

    if($valore[$X]>10 && $valore[$X]<-19.9 ){
    $r= 0; $g= 191; $b= 255;
    $r1= 255; $g1= 255; $b1=255 ;
    }
    if($valore[$X]>20 && $valore[$X]<29.9 ){
    $r= 175; $g= 238; $b= 238;
    $r1= 255; $g1= 255; $b1=255 ;
    }

    //CREAZIONE IMMAGINE=============================================

    // crea immagine 50*15
    $im = imagecreate(50, 15);
    // sfondo all' immagine
    $background = imagecolorallocate($im, $r, $g, $b);
    // testo color bianco
    $textcolor = imagecolorallocate($im, $r1, $g1, $b1);
    imagestring($im, 2, 4, 0, $valore.$X, $textcolor);

    //Creamo un'immagine .PNG
    header("Content-type: image/jpeg");
    imagejpeg($im);
    imagejpeg($im, '$NOME . $X . "." png' );
    //Finiamo con il distruggere l'immagine temporanea
    imagedestroy($im);
    ?>
    [/php]


  • User Attivo

    Tutto il tuo codice devi inserirlo nel ciclo for

    La variabile numerica $X (1-2-3-ecc..) è la chiave di tutto.

    A presto


  • User

    Ciao Mikslap e grazie per l' aiuto che mi stai dando, allora ho corretto il for spostando la parentesi graffa alla fine dello script,
    quando lancio la pagina mi appare per qualche secondo la scritta " non può essere visualizzata perchè contiene errori " , poi viene visuallizato l' indirizzo della pagina e non fa niente mentre sul server viene generata un' immagine con questo nome :

    $NOME . $X . "." png


  • User Attivo

    @raimaker said:

    Ciao Mikslap e grazie per l' aiuto che mi stai dando, allora ho corretto il for spostando la parentesi graffa alla fine dello script,
    quando lancio la pagina mi appare per qualche secondo la scritta " non può essere visualizzata perchè contiene errori " , poi viene visuallizato l' indirizzo della pagina e non fa niente mentre sul server viene generata un' immagine con questo nome :

    $NOME . $X . "." png

    Se mi riscrivessi il codice forse riuscirò a darti un'altra dritta.
    A presto


  • User

    [quote=mikslap;806325]Se mi riscrivessi il codice forse riuscirò a darti un'altra dritta.
    A presto[/quoto]

    Questo è lo script , grazie per l' aiuto siete molto gentile.

    [php]
    <?php
    //leggo i dati dal file dati1.txt
    $percorso_file1 = ('dati1.txt');
    $file1 = fopen($percorso_file1,rb);
    $riga1 = fread($file1,1024);
    $valore[1] = explode(";",$riga1); fclose($file1);

    //leggo i dati dal file dati2.txt
    $percorso_file2 = ('dati2.txt');
    $file2 = fopen($percorso_file2,rb);
    $riga2 = fread($file2,1024);
    $valore[2] = explode(";",$riga2); fclose($file2);

    // ci possono essere anche altri file datiX da leggere.

    for($i=1;$i<2;$i++){

    if($valore*>10 && $valore*<-19.9 ){
    $r= 0; $g= 191; $b= 255;
    $r1= 255; $g1= 255; $b1=255 ;
    }
    if($valore*>20 && $valore*<29.9 ){
    $r= 175; $g= 238; $b= 238;
    $r1= 255; $g1= 255; $b1=255 ;
    }
    if($valore*>30 && $valore*<39.9 ){
    $r= 127; $g= 255; $b= 212;
    $r1= 0; $g1= 0; $b1= 0;
    }
    if($valore*>40 && $valore*<49.9 ){
    $r= 124; $g= 252; $b= 0;
    $r1= 0; $g1= 0; $b1=0 ;
    }
    if($valore*>50 && $valore*<59.9 ){
    $r= 255; $g= 255; $b= 224;
    $r1= 0; $g1= 0; $b1=0 ;
    }
    if($valore*>60 && $valore*<69.9 ){
    $r= 255; $g= 255; $b= 0;
    $r1= 255; $g1= 255; $b1=255 ;
    }
    if($valore*>70 && $valore*<79.9 ){
    $r= 255; $g= 215; $b= 0;
    $r1= 0; $g1= 0; $b1=0 ;
    }
    if($valore*>80 && $valore*<89.9 ){
    $r= 210; $g= 105; $b= 30;
    $r1= 0; $g1= 0; $b1=0 ;
    }
    if($valore*>90 && $valore*<99.9 ){
    $r= 255; $g= 0; $b= 0;
    $r1= 0; $g1= 0; $b1=0 ;
    }

    // crea immagine 5015
    $im = imagecreate(50, 15);
    // sfondo all' immagine
    $textcolor = imagecolorallocate($im, $r1, $g1, $b1);
    imagestring($im, 2, 4, 0, $valore
    , $textcolor);

    //Creamo un'immagine .PNG
    header("Content-type: image/jpeg");
    imagejpeg($im);
    imagejpeg($im, "img".$i.".png");
    //Finiamo con il distruggere l'immagine temporanea
    imagedestroy($im);
    }
    ?>
    [/php]