boucle d'image en php

mailer

WRInaute discret
j'aimerais tuot simplement arriver a faire une boucle afin de créer plusieures images php avec la librairie gd.
avez vous une idée dela façon de faire ???
merci de me mettre sur la piste
 

mailer

WRInaute discret
bon j'ai avancé jusqu'a faire ce bout de code, mais une seule image est crée, et franchement , je en vois pas pourquoi celle là !
Code:
for($i=0 ; $i<= $cal_str ; $i ++)
		{
		$image = imagecreate(20,25);

		$fond = imagecolorallocate($image, $r_img,$v_img,$b_img); // Fond de couleur
		$couleur_texte = imagecolorallocate($image, $color_r, $color_v, $color_b);

		
		
			switch($num_cpt[$i]){
			case $num_cpt[$i] : 	
$text = imagestring($image, 4, 5, 5, $num_cpt[$i], $couleur_texte);
$img = imagepng($image);
break;
			
			}
echo $img;
		}
 

correiaj

WRInaute impliqué
Essaye plutot comme ça:

$image = imagecreate(20,25);
$fond = imagecolorallocate($image, $r_img,$v_img,$b_img); // Fond de couleur
$couleur_texte = imagecolorallocate($image, $color_r, $color_v, $color_b);
$img = imagepng($image);

for($i=0 ; $i<= $cal_str ; $i ++)
{
$text = imagestring($image, 4, 5, 5, $num_cpt[$i], $couleur_texte);
echo $img;
}

et $cal_str c´est quoi?
 

mailer

WRInaute discret
je mets le code en entier, enfin plus de lines pour mieux comprendre ...
Code:
header ("Content-type: image/png");

	$coul_police = '#8FBEF1';
	list($color_r, $color_v, $color_b) = explode("-", hex2rgb($coul_police));
	

	$nbVisit = "01254";	
	$cal_str = (strlen($nbVisit) - 1);
	$newNum = wordwrap($nbVisit, 1, ' ', 1);

	$num_cpt = explode(' ',$newNum);
	for($i=0 ; $i<= $cal_str ; $i ++)
		{
		$image = imagecreate(20,25);

		$fond = imagecolorallocate($image, $r_img,$v_img,$b_img); // Fond de couleur
		$couleur_texte = imagecolorallocate($image, $color_r, $color_v, $color_b);

		
		
			switch($num_cpt[$i]){
			case $num_cpt[$i] : 	$text = imagestring($image, 4, 5, 5, $num_cpt[$i], $couleur_texte);
									$img = imagepng($image);
									break;
			
			}
			echo $img;
		}

$nbVisit, est la variable iniatiale, qui permet de déterminer le nombre d'image a créer!
Le nombre d'image est égal, au nombre de caractere présent dans la chaine!
$cal_str permet donc de connaitre le nombre de caracteres dans la chaine numerique.
$num_cpt, permet de scinder la chaine en plusieurs morceaux, c'est a dire a diviser tout les caracteres.
Le nombre d'image a créer est égal au nombre count de l'array $num_cpt.

Mais mon exemple affiche qu'une image...
 

mailer

WRInaute discret
bin en fait mon switch sert a passer la condition if $num_cpt[$i] existe alors $num_cpt[$i] = $text ....

as tu une autre idée ?
 

correiaj

WRInaute impliqué
donc si ta variable existe pas, tu va avoir une failure notice php.
Logiquement pour savoir si une variable existe, on utilse
if(isset($var))
 

mailer

WRInaute discret
bon en fiat j'ai essayé un exemple tout bete qui devrait marcher mais sans succes!
si des personnes peuvent essayer, chez moi j'ai qu'une image qui est crée, et c'est 0.

Code:
<?
header ("Content-type: image/png");

	$nbVisit = "01254";	
	$cal_str = (strlen($nbVisit) - 1);
	$newNum = wordwrap($nbVisit, 1, ' ', 1);

	$num_cpt = explode(' ',$newNum);
	
	
	for($i=0 ; $i<= $cal_str ; $i++)
		{
			$image = imagecreate(20,25);

		$fond = imagecolorallocate($image, 0,0,0); // Fond de couleur
		$couleur_texte = imagecolorallocate($image, 255,255,255);

		$text = imagestring($image, 4, 5, 5, $num_cpt[$i], $couleur_texte);
		$img = imagepng($image);	
		
		}

?>

pour leswitch y'a pas de faulure puisqu'il faut que la condition existe pour créer l'image sinon rien se passe, enfin c'est ce que je cherche a faire du moins
 

mailer

WRInaute discret
bon j'ai avancé un peu, et j'ai pu comprendre qu'en fait ma boucle doit se trouver non pas dans mon image php, mais dans la page qui insere l'image php !!!

ainsi donc, j'ai donc fais comme çà!

j'ai placé ceci dans ma page php qui insere l'image php

Code:
<?
$nbVisit = "01254";     
				$cal_str = (strlen($nbVisit) - 1);
				$newNum = wordwrap($nbVisit, 1, ' ', 1);
				$num_cpt = explode(' ',$newNum);
        for($i=0 ; $i<= $cal_str ; $i ++)
                {
				$_SESSION['police'] = $num_cpt[$i] ;
			$affich = "<img src=\"./imagecreate1.php\"  />";
				}

?>
et puis dans mon image php, j'ai mis celà !
Code:
<?
session_start(); 
$police = $_SESSION['police'] ;

header ("Content-type: image/png");
$image = imagecreate(20,20);
		
$fond = imagecolorallocate($image, 0,0,0); // Fond de couleur
$couleur_texte = imagecolorallocate($image,255, 255, 255); // couleur du texte


imagestring($image, 4, 3, 3, $police, $couleur_texte); 


imagepng($image);


		
?>

çà marche malheureusement pas, pourquoi ?????

merci à tous pour vos aides
 

Discussions similaires

Haut