comment afficher des images generes par GD dans 1 tableau ?

comment afficher des images generes par GD dans 1 tableau ? - PHP - Programmation

Marsh Posté le 22-08-2005 à 14:06:51    

bonjour,
 
je cherche à afficher des images crées par GD dans un tableau. J'ai une page avec le tableau, et un include de la page qui cree l'image : truetype.php.
 
le probleme, c'est que cela ne marche pas. Il m'affiche des caractère bizarres à la place de l'image.
Est ce possible déja d'afficher les images crées dans une page html sans les enregistrer à l'avance ?
 

Code :
  1. <table width="75%" border="1">
  2.   <tr>
  3.     <td>essai</td>
  4.   </tr>
  5.   <tr>
  6.     <td><?php include "truetype.php"; ?></td>
  7.   </tr>
  8. </table>


 
truetype.php :
 

Code :
  1. <?php
  2. $im = imagecreate(400, 30);
  3. $white = imagecolorallocate($im, 255, 255, 255);
  4. $grey = imagecolorallocate($im, 128, 128, 128);
  5. $black = imagecolorallocate($im, 0, 0, 0);
  6. $text = 'Testblabla ...';
  7. $font = 'GOTHIC.TTF';
  8. imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
  9. imagepng($im);
  10. imagedestroy($im);
  11. ?>


 
merci de votre aide.

Reply

Marsh Posté le 22-08-2005 à 14:06:51   

Reply

Marsh Posté le 22-08-2005 à 14:35:41    

Quand tu inclus une image en HTML... tu utilises <img src="ton image" /> pas vrai?
Donc dans ton cas,
 

Code :
  1. <td><img src="truetype.php" width="XX" height="YY" alt="Mon image" /></td>


 
et dans ton truetype.php, il faut envoyer un header() contenant le MIME-Type, qui est dans ton cas une image/png, sinon le navigateur ne sait pas de quoi il s'agit.


Message édité par dotfx le 22-08-2005 à 14:39:46

---------------
www.renderfarm.online
Reply

Marsh Posté le 22-08-2005 à 14:38:36    

Si je me souviens bien il faut faire comme ceci :

Code :
  1. <table width="75%" border="1">
  2. <tr>
  3. <td>essai</td>
  4. </tr>
  5. <tr>
  6. <td><img src="truetype.php" width="" height="" alt=""></td>
  7. </tr>
  8. </table>


 
<edit>Ben j'arrive après la guerre !!</edit>


Message édité par raph_csol le 22-08-2005 à 14:39:58
Reply

Marsh Posté le 22-08-2005 à 14:56:26    

Tu peux également laisser ton include, ça te permet de développer un système de cache vite fait.
 

Code :
  1. <?php
  2. $nomfichier="images/monimage.png";
  3. if (!is_file($nomfichier)) { // Regarde si le fichier existe ou non  
  4. $im = imagecreate(400, 30);
  5. $white = imagecolorallocate($im, 255, 255, 255);
  6. $grey = imagecolorallocate($im, 128, 128, 128);
  7. $black = imagecolorallocate($im, 0, 0, 0);
  8. $text = 'Testblabla ...';
  9. $font = 'GOTHIC.TTF';
  10. imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
  11. imagepng($im,$nomfichier);
  12. imagedestroy($im);
  13. }
  14. echo '<img src="'.$nomfichier.'" alt="'.$nomfichier.'" />';
  15. ?>


 
Comme ça, tu n'as même plus à t'occuper de l'entête et ton script de génération ne bouffera pas des ressources serveurs à chaque appel. Car GD est aussi puissant que gourmand, surtout si tu t'amuses avec des polices TTF.


Message édité par The-Shadow le 22-08-2005 à 14:57:16
Reply

Marsh Posté le 22-08-2005 à 15:27:48    

mon problème par rapport à ce code est que je ne souhaite pas garder des copies des images sur mon serveur. Il faut que ce soit des images temporaires. Car le client va pouvoir rentrer du texte et son logo, ensuite visualiser le resultat, et seulement à la fin valider et enregistrer.

Reply

Marsh Posté le 22-08-2005 à 15:54:54    

miriam a écrit :

mon problème par rapport à ce code est que je ne souhaite pas garder des copies des images sur mon serveur. Il faut que ce soit des images temporaires. Car le client va pouvoir rentrer du texte et son logo, ensuite visualiser le resultat, et seulement à la fin valider et enregistrer.


Quel code pose problème là? [:petrus75]
 
Créer une image temporaire et l'envoyer, c'est exactement ce que font les codes t'ayant été proposés [:petrus75]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 22-08-2005 à 16:07:59    

[quotemsg=1181282,4,90632]Tu peux également laisser ton include, ça te permet de développer un système de cache vite fait.
 

Code :
  1. <?php
  2. $nomfichier="images/monimage.png";
  3. ....
  4. imagepng($im,$nomfichier);
  5. }
  6. ..
  7. ?>


 
je parlais de ce code là ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed