- Home
- Categorie
- Coding e Sistemistica
- PHP
- Creare più immagini contemporaneamente can valori diversi
-
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]
-
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.
-
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]
-
Tutto il tuo codice devi inserirlo nel ciclo for
La variabile numerica $X (1-2-3-ecc..) è la chiave di tutto.
A presto
-
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
-
@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
-
[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]