IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[ImageMagick] Boucle pour créer plusieurs images


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 49
    Points : 24
    Points
    24
    Par défaut [ImageMagick] Boucle pour créer plusieurs images
    bonjour
    j'aimerais faire une boucle qui permeterait de creer plusieurs images, comment procéder ?

    a vrai dire mon test ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    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;
    		}

  2. #2
    Invité
    Invité(e)
    Par défaut


    ben deja est-ce que tu as essayé avec 1 seule image ?
    et que fait ce test, et qu'est-il censé faire ? que fait cet ?

    place tes images dans des balises HTML <img/>

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 49
    Points : 24
    Points
    24
    Par défaut
    en fait ce script me permet de creer un nombre d'image selon une variable préentrée!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    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...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Points : 691
    Points
    691
    Par défaut
    salut
    a quoi sert ton switch et d'ou sort $num_cpt[$i]
    de plus ton switch ne fonctionne pas

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 49
    Points : 24
    Points
    24
    Par défaut
    bonsoir
    et bien je sais pas pourquoi j'ai mis le switch , à vrai dire lol

    bon j'ai modifier tout çà et çà donne çà, mais j'ai toujour une seule image

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?
    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);	
     
    		}
     
    ?>
    c'est l'image 0 qui est crée, et puis rien après arfff
    merci de m'aider

  6. #6
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Points : 1 164
    Points
    1 164
    Par défaut
    Salut,

    après qulques test je pense que le script fonctionne correctement, le problème est tout autre !

    Teste cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <?php
       header('Content-type: image/png');
     
    //    Image output
     
       $nbVisit = "01254";
       $cal_str = (strlen($nbVisit) - 1);
       $newNum = wordwrap($nbVisit, 1, ' ', 1);
     
       $num_cpt = explode(' ',$newNum);
     
        $res = array();
       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, $i, $couleur_texte);
            ob_start();
          $img = imagepng($image);
          $res[] = ob_get_clean();
          }
        ob_end_flush();
        //echo $res[0];
        echo $res[1];
    ?>
    Puis essaie en decommantant le premier echo. Tu verras que l'image est bien enregistré et quelle remplace l'image suivante à l'index 1.

    Je ne sais pas trop à quoi te sert se script au final mais u vas devoir chager complètement de méthode je pense.

    bye

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 49
    Points : 24
    Points
    24
    Par défaut
    Bonsoir
    en testant ton code, j'ai pu voir qu'en fait, j'ai toujours 1 seule image qui est crée, et cette fois ci il s'agit d'une image avec une ecriture 1 (au lieu de 0 avant).

    En fait à partir d'un formulaire d'inscription, je cherche créer des images pour montrer un compteur.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 49
    Points : 24
    Points
    24
    Par défaut
    en clair j'ai la variable $nbVisit = "01254"; qui contient une chaine numerique!
    je découpe cette chaine de façon a avoir 1 caractere par clés dans mon array avec explode()!
    Puis j'aimerais créer autant d'image qu'il y a de clés contenant 1 caractere.
    ainsi dans mon exemple j'ai '01254', il y a donc 5 caractères, j'aimerais créer 5 images, avec comme ecriture 0 pour l'image 1, 1 pour l'image 2, 2 pour l'image 3, 5 pourl'image 4, et 4 pour l'image 5...

    sachant que $nbVisit sera rempli par le visisteur dans le formulaire.

Discussions similaires

  1. boucles pour lire plusieurs images
    Par eviasra dans le forum MATLAB
    Réponses: 8
    Dernier message: 27/12/2016, 13h51
  2. Réponses: 3
    Dernier message: 03/11/2007, 21h47
  3. Réponses: 21
    Dernier message: 23/05/2007, 16h16
  4. [GD] Problème de boucle pour redimensionner plusieurs images ...
    Par jimmyneutron dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 10/04/2007, 17h46
  5. [MySQL] Boucle pour récuperer les images de la base
    Par tchoukapi dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/11/2005, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo