Bonjour
j'ai un souci de programmation pour créer une image avec la fonction "imagecreatetruecolor" dans une boucle while
mon but c'est de récupérer les POLICES stocké dans un dossier de faire un boucle afin de récupérer le nom des fichiers des Polices
et de créer une image d'exemple d'écriture qui sera affiché dans une page.
Alors voici mon premier code celui qui scan le dossier pour lister les fichiers des polices.
$FILE me donne bien le nom des fichier etCode:<? $FOLDER = "TTF/"; $DIR = opendir($FOLDER); while($FILE = readdir($DIR)) { $NUM==1; if($FILE != '.' && $FILE != '..' && !is_dir($FOLDER.$FILE)) { $NUM++; $IDGS="GS-$NUM.png"; echo "$FILE <br>"; }} ?>
$IDGS="GS-$NUM.png";
étant pour donner un identifiant numéroté pour les images ont aura donc
GS-1.png
GS-2.png
GS-3.png etc...
Ce code fonctionne très bien pas de souci de ce coté là
ensuite j'ai un 2ème code celui pour créer une image qui contient du texte avec la fonction imagecreatetruecolor
Ce code fonctionne aussi très bien pas de souci il créer bien une image contenant Mon texte avec une Police bien défini qui est Barbarian.ttfCode:<? header('Content-Type: image/png'); $IDGS = imagecreatetruecolor(700, 100); $COLOR = imagecolorallocate($IDGS, 128, 128, 128); $BACKGROUND = imagecolorallocate($IDGS, 255, 255, 150); $TEXTE = "Mon texte"; $FONT = "TTF/Barbarian.ttf"; imagefilledrectangle($IDGS, 0, 0, 700, 100, $BACKGROUND); imagettftext($IDGS, 50, 0, 10, 70, $COLOR, $FONT, $TEXTE); imagepng($IDGS); imagedestroy($IDGS); ?>
Maintenant la ou je bloque c'est d'assembler les 2 codes afin d'obtenir une image dans la boucle
si je fait
Code:<? $FOLDER = "TTF/"; $DIR = opendir($FOLDER); while($FILE = readdir($DIR)) { $NUM==1; if($FILE != '.' && $FILE != '..' && !is_dir($FOLDER.$FILE)) { $NUM++; $IDGS="GS-$NUM.png"; header('Content-Type: image/png'); $IDGS = imagecreatetruecolor(700, 100); $COLOR = imagecolorallocate($IDGS, 128, 128, 128); $BACKGROUND = imagecolorallocate($IDGS, 255, 255, 150); $TEXTE = "Mon texte"; $FONT = "TTF/$FILE"; imagefilledrectangle($IDGS, 0, 0, 700, 100, $BACKGROUND); imagettftext($IDGS, 50, 0, 10, 70, $COLOR, $FONT, $TEXTE); imagepng($IDGS); imagedestroy($IDGS); }} ?>
Et là j'ai qu'une seule image qui s'affiche dans la boucle il ne fait pas de boucle et j'ai qu'une seule police qui me sort alors que j'ai 6 Polices dans le dossiers.
Si vous avez une solution je vous remercie
-----