Générateur de texte sur une image

Répondre
didipc
le 04/11/2007 à 11:46
didipc
Je rectifie en mettant cela :

$fontname="tahoma.ttf";


Sa fait pareil ...

Et en mettant le chemin absolu il me dit qu'il ne trouve pas la police alors qu'en utilisant le meme lien celui ci propose de télécharger la police.
KissmyBlog - Tout pour ton blog
i M@N
le 04/11/2007 à 14:16
i M@N
reuh ...

Je t'ai filé la solution alors réfléchis un peu ... si je te dis qu'il faut marquer le chemin relatif vers le fichier .ttf (true type font) c'est pas pour m'amuser.
Si t'as pas ce fichier .ttf (ou un autre) dans le répertoire du script ça fonctionnera pas.

@+...
One Love, One Heart, One Unity.
didipc
le 04/11/2007 à 14:19
didipc
Je ne suis pas bete non plus,
Je sais trés bien qu'il faut la Police en .ttf malgré cela que je la mette a la racine de mon dossier dans ce cas la je met juste tahoma.ttf .

Ou que je mette la police avec l'url absolue sa affiche pleins de caractères et non une image.

http://didipc.free.fr/gen/
KissmyBlog - Tout pour ton blog
i M@N
le 04/11/2007 à 15:20
i M@N
reuh ...

Fais un wall de TOUTE ta page si tu veux qu'on t'aide ...

Warning: Cannot modify header information - headers already sent by (output started at /mnt/141/sdc/b/e/didipc/gen/index.php:1) in /mnt/141/sdc/b/e/didipc/gen/index.php on line 9

ça veut dire que t'envoies une sortie html avant le header jpg ... on envoie jamais rien avant un header.

@+...
One Love, One Heart, One Unity.
didipc
le 04/11/2007 à 15:54
didipc
Voila le wall Complet de la page

http://www.lephpfacile.com/wall/wall-542.php

J'ai totalement enlever l'information header
header("Content-type: image/jpeg");


Mais l'image s'affiche toujours incorrectement .
KissmyBlog - Tout pour ton blog
i M@N
le 04/11/2007 à 16:18
i M@N
reuh ...

Commence par apprendre un peu :
doc PHP
http://www.lephpfacile.com/cours/19-les-variables-globales
http://www.lephpfacile.com/cours/22-la-librairie-gd[§lien]

Ensuite quand je te demande TOUTE la page c'est pas pour me refiler le même wall où t'as viré header("Content-type: image/jpeg"); parce que :
1 il y en a besoin
2 $background = imagecreatefromJPEG("http://didipc.free.fr/gen/tu_sors.jpg"); c'est n'importe quoi ... $background = imagecreatefromJPEG("./tu_sors.jpg");
3 y'avait un formulaire dans ta page (c'est même lui qui faisait l'erreur) et je vois pas de <form> dans le wall.
4 c'est mon code donc je le connais ...

@+...
One Love, One Heart, One Unity.
didipc
le 04/11/2007 à 16:54
didipc
Désolé j'ai mal compris ...

http://www.lephpfacile.com/wall/wall-543.php

Voici mon wall j'ai mis le formulaire en méthode get vu que la variable est du type &_GET['text'].
KissmyBlog - Tout pour ton blog
i M@N
le 04/11/2007 à 17:53
i M@N
reuh ...

t'as pas compris ... il faut 2 pages pour faire fonctionner le script avec un formulaire (on peut sur une seule mais je vais faire simple) :
1 page qui affiche le formulaire
1 script qui traîte les données envoyées par le formulaire.

form.html
<html>
<body>
<p>
Formulaire :
<form method="get" action="./image.php">
<input name="text" type="text">&nbsp;<input type="submit" value="Envoyer">
</form>
</p>
</body>
</html>


image.php
<?php

if(isset($_GET["texte"])) $texte = $_GET["texte"]; else $texte = "Gniarf";

header("Content-type: image/jpeg");

$background = imagecreatefromJPEG("./tu_sors.jpg");

$imageWidth = 800; // taille X

$imageHeight = 562; // taille Y

$im = imagecreatetruecolor($imageWidth,$imageHeight);

$bgcolor = imagecolorallocate($im,0,0,0);

imagecopy($im,$background,0,0,0,0,$imageWidth,$imageHeight);

imagedestroy($background);

$fontname="./tahoma.ttf";

$fontsize = "20";

$angle = "1";

$x = "400";

imagettftext($im,$fontsize,$angle,$x,135,$bgcolor,$fontname,"tu sors,");

imagettftext($im,$fontsize,$angle,$x,170,$bgcolor,$fontname,$texte);

imagettftext($im,$fontsize,$angle,$x,195,$bgcolor,$fontname,"et ne reviens pas !");

imageJPEG($im);

imagedestroy($im);

?>


Sinon tu peux juste faire un lien vers image.php du genre :
<a href="./image.php?texte=boulet">tu sors boulet</a>


@+...
One Love, One Heart, One Unity.
didipc
le 04/11/2007 à 20:00
didipc
Désolé, mais meme en faisant de cette sorte cela reviens au meme ...

Sa n'affiche pas une image mais pleins de caractères ...

http://didipc.free.fr/gen/

Pour le wall exactement le meme que tu as donné précédement.

PS : je ne remet pas en cause ton code j'essaye juste de comprendre pourquoi cela ne marche pas ...
KissmyBlog - Tout pour ton blog
i M@N
le 04/11/2007 à 20:16
i M@N
reuh ...

Je sais pas si on va y arriver ... oÔ

Essaye de mettre header("Content-type: image/jpeg"); à la ligne 28 juste avant la ligne 29 qui commence par imagettftext ...

C'est bizarre, j'ai testé chez moi ça fonctionne ... p'tet que le PHP de free réagit pas pareil.

@+...
One Love, One Heart, One Unity.
Répondre
LoadingChargement en cours