boucle d'image en php

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

mailer
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 158
Inscription: Dim Juin 26, 2005 19:36

boucle d'image en php

Message le Lun Jan 09, 2006 18:03

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


tangui
WRInaute passionné
WRInaute passionné
 
Messages: 863
Inscription: Jeu Fév 10, 2005 12:36

Message le Lun Jan 09, 2006 18:08

Code: Tout sélectionner
$i=0;
while(i<10){
ton code
$i++;
}


par exemple...

mailer
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 158
Inscription: Dim Juin 26, 2005 19:36

Message le Lun Jan 09, 2006 18:22

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: Tout sélectionner
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 accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Lun Jan 09, 2006 20:46

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 occasionnel
WRInaute occasionnel
 
Messages: 158
Inscription: Dim Juin 26, 2005 19:36

Message le Lun Jan 09, 2006 21:46

je mets le code en entier, enfin plus de lines pour mieux comprendre ...
Code: Tout sélectionner
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...


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Mar Jan 10, 2006 1:08

Mais a quoi de sert ton switch si tu dis if x=x... je comprends pas

mailer
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 158
Inscription: Dim Juin 26, 2005 19:36

Message le Mar Jan 10, 2006 19:34

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 accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Mar Jan 10, 2006 20:06

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 occasionnel
WRInaute occasionnel
 
Messages: 158
Inscription: Dim Juin 26, 2005 19:36

Message le Mar Jan 10, 2006 20:53

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: Tout sélectionner
<?
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 occasionnel
WRInaute occasionnel
 
Messages: 158
Inscription: Dim Juin 26, 2005 19:36

Message le Mer Jan 11, 2006 20:56

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: Tout sélectionner
<?
$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: Tout sélectionner
<?
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

mailer
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 158
Inscription: Dim Juin 26, 2005 19:36

Message le Jeu Jan 12, 2006 21:20

j'ajoute que j'ai bien un sessin_start au début de mon premier code.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: MSN [Bot] et 0 invités