Ecrire sur une image

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Ecrire sur une image

par supercanard » 06 févr. 2008, 13:20

Merci ça marche beaucoup mieux comme ça en effet :wink:

Je peut mettre résolu je crois

EDIT

Je ré-ouvre le topic pour une question suivante.

Voilà mon code :

Page test.php
<?php
$nom_image = "test.jpg"; 

$image = imagecreatefromjpeg($nom_image);
$couleur = imagecolorallocate($image, 0, 0, 0);
imagestring($image, 14, 25, 145,$texte, $couleur);
imagejpeg($image);

echo $image;
?>
Page affich.php
<img src="test.php?texte=<?php echo $_POST['titre']; ?>">
Maintenant je voudrais que l'image créée s'enregistre dans un dossier.

Ma page affich.php devient donc :
<?php
$nom_image = time().'.jpeg'; echo $nom_image;
copy($image,'essais/'.$nom_image);
?>
Sauf que ma variable $image ne contient pas une url valide mais quelque chose de ce genre : http://site.org/test.php?texte=fgfgfg
Donc évidement ça ne marche pas du tout. Y a t'il une solution ?

par d0m » 06 févr. 2008, 12:48

Pour afficher une image il faut bien la mettre dans une balise <IMG> ou alors dans une page sans rien afficher d'autre que le code de l'image.

Dans tous les cas, il te faut une page php qui affiche l'image et rien d'autre. C'est cette page qui contient ton code de création par exemple, et qui affiche le résultat :

image.php :
$nom_image = "test.jpeg";  // le nom de votre image avec l'extension jpeg
$texte = "votre texte";  // Le texte que vous désirez écrire sur l'image

$image = imagecreatefromjpeg($nom_image);
$blanc = imagecolorallocate($image, 255, 255, 255);
imagestring($image, 5, 150, 150,$texte, $blanc);
imagejpeg($image);

echo $image;
Ensuite dans le code html :

Code : Tout sélectionner

<IMG SRC="image.php">
A noter que le charabia n'est autre que le contenu de l'image (essaie d'ouvir un jpeg avec notepad tu verrras). Si il le contenu est affiché et non l'image, c'est :
qu'il y a une erreur quelquepart
=> affichage d'un message d'erreur
=> il n'y pas que le code de l'image d'affiché

Ecrire sur une image

par supercanard » 06 févr. 2008, 11:51

Bonjour,

Je teste les fonction liés aux images, vu que j'ai encore jamais vraiment regardé de ce côté.
Déjà un premier problème avec le code :

<img src="
<?php 

$nom_image = "test.jpeg";  // le nom de votre image avec l'extension jpeg
$texte = "votre texte";  // Le texte que vous désirez écrire sur l'image

header ("Content-type: image/jpeg");
$image = imagecreatefromjpeg($nom_image);
$blanc = imagecolorallocate($image, 255, 255, 255);
imagestring($image, 5, 150, 150,$texte, $blanc);
imagejpeg($image);
?> 
" />
Au lieu d'avoir une image, j'ai un gros charabia à l'affichage.
Je suis pas sur mais je crois que j'ai fait n'importe quoi en plaçant mon code dans une balise, mais en même temps une fois l'image créée il faut bien l'afficher... donc <img />... non ?[/php]