| Qui est en ligne ? |
| Il y a : 19 utilisateurs en ligne, consultez le détail |
Forum » Blabla, demandes, annonces » Générer une image en fonction d'un texte |
Forum modéré par : jblecanard , Azollyx |
| Même auteur |
|
Score ( voter ) : |
|
| Page : [1] |
| Auteur | Message |
|---|---|
|
|
#0 Message posté le : 06-12-2006 à 19:19:42 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 04-12-2005 Nombre de messages : 356 |
Bonsoir, Je voudrais que lorsque je poste sur un forum, ma signature soit une citation aléatoire. Malheureuseusement, tous les forums n'offrent pas cette possibilité. Je pensais donc à une image, mais une image aléatoire, générée à chaque fois qu'elle est demandée, en fonction d'une liste de citations (fortune). J'arrive, avec un script PHP, à obtenir une citation au hasard, mais sous forme de texte. Mon problème est donc de, à chaque nouvelle requête, de générer une image en fonction de ce texte. Est-ce possible ? Merci d'avance. |
|
|
#1 Message posté le : 07-12-2006 à 09:59:49 |
Hobbit Forum : Inscrit Association : Arrivé(e) le : 16-01-2003 Nombre de messages : 1230 |
avec gd par exemple http://www.php.net/manual/fr/function.imagestring.php |
|
|
#2 Message posté le : 10-12-2006 à 09:42:13 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 04-12-2005 Nombre de messages : 356 |
Merci pour ta réponse. Je vais y regarder, mais à mon avis cela va fonctionner sans problème. Par contre, je ne comprends pas comment je peux faire pour appeler le script de génération de l'image à chaque fois que l'image est demandée ? |
|
|
#3 Message posté le : 10-12-2006 à 12:03:55 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 14-08-2005 Nombre de messages : 488 |
<img alt='' src='thumb.php?name=$rel_path' /> J'appelle le script thump.php qui a pour but de creer une miniature et de l'afficher à l'écran. Je lui passe en paramètre le chemin de l'image. Et voilà, toi tu peux lui passer le texte à afficher. |
|
|
#4 Message posté le : 10-12-2006 à 17:33:19 |
Hobbit Forum : Inscrit Association : Arrivé(e) le : 18-04-2005 Nombre de messages : 1219 |
bonjour..//..bonsoir.. g un truc dans le genre (cf.ma signature): http://s.bouras.free.fr/citaPop-Up/ (activer : java/scripts/popup) ou: http://s.bouras.free.fr/citaPop-Up/citation.php3 puis reactualise ou touche [F5] ou clic sur les liens: amour | proverbes | einstein .. si toutefois free daigne activer son serveur des sites perso.. .. fais moi avoir si ok.. je te le ferai envoyer en mp. \bye. selim,b. --Message édité par selimb le 10-12-2006 à 18:15:39-- ------------------------------------- http://s.bouras.free.fr/citaPop-Up/ |
|
|
#5 Message posté le : 13-12-2006 à 20:02:04 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 04-12-2005 Nombre de messages : 356 |
Bon je sens que je suis sur la bonne voie mais je comprends rien au PHP... Le script qui génère ma citation est celui-ci : <?php
mt_srand ((double) microtime() * 1000000);
// $FortuneDir = "fortunes/";
$FileName = "citations";
// vᅵifie si les fichier existent
if (!file_exists("$FortuneDir$FileName"))
die("$FileName n'existe pas!!");
else if (!file_exists("$FortuneDir$FileName.dat"))
die("$FileName.dat n'existe pas!!");
else
{
$fd=fopen("$FortuneDir$FileName.dat", "rb");
$trash=fread($fd,4);
// rᅵupᅵe le nb de citations...
$str_numstr=hexdec(bin2hex(fread($fd,4)));
// ...en prend une au hasard...
$Number= mt_rand(0, $str_numstr-1);
// ...recherhe la position...
$trash=fread($fd, 12);
$str_delim=fread($fd,4);
for($i=0;$i<=$Number;$i++)
$str_pointer=hexdec(bin2hex(fread($fd,4)));
fclose($fd);
$CptChar = 0;
// recherche dans le fichier texte la citation correspondante
$fd=fopen("$FortuneDir$FileName", "r");
fseek($fd, $str_pointer);
// ...puis l'affiche...
$Char=fgets($fd, 1024);
while (strcmp($Char,"%\n")!=0 && !feof($fd))
{
if (feof($fd))
{
fseek($fd,0);
}
echo("$Char<br>");
$Char=fgets($fd, 100);
}
fclose($fd);
}
?>et moi, j'ai juste rajouté ça à la fin :
<?php
// nouvelle image 100*30
$im = imagecreate(100, 30);
// fond blanc et texte bleu
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);
// ajout de la phrase en haut à gauche
imagestring($im, 5, 0, 0, "$Char", $textcolor);
// affichage de l'image
header("Content-type: image/png");
imagepng($im);
?>
Je pensais que la citation générée par le premier script était stockée dans la variable $Char, non ? Et là, j'obtiens une erreur... --Message édité par Thomas le 13-12-2006 à 20:02:20-- |
|
|
#6 Message posté le : 13-12-2006 à 20:30:16 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 04-12-2005 Nombre de messages : 356 |
Hum, j'ai presque réussi : en faisant une fonction qui affiche l'image, avec pour paramètre la citation créée par le script précèdent. Il ne me reste plus qu'à peaufiner (notament, gros problème : je n'ai pas de retour à la ligne...) Je mettrai bien sur le code à disposition, ca peut toujours intéresser quelqu'un, même si il n'y a vraiment rien d'extraordinaire... Merci e-deby, jerep6 et selimb pour votre aide précieuse ! |
|
|
#7 Message posté le : 16-12-2006 à 16:12:22 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 04-12-2005 Nombre de messages : 356 |
Hum, j'ai encore un petit problème : je peux, dans un fichier HTML, mettre l'astuce de jerep6 : <img alt='' src='fortune.php' />, ca marche, j'ai bien une image sur cette page HTML. Mais je voudrais utiliser ceci sur un forum PhpBB : on ne peut pas inclure de HTML, mais c'est du BBcode : [//img]http://www.lien.vers.limage[/img] Les deux / devant la première balise img sont juste là pour éviter que le BBcode ne soit interprété par Trustforum Si je lui indique le lien vers la page HTML ca ne marche pas. Est-il possible de générer un vrai fichier image ? --Message édité par Thomas le 16-12-2006 à 16:15:35-- |
|
|
#8 Message posté le : 16-12-2006 à 16:43:01 |
Naboo Forum : Modérateur Association : Président Arrivé(e) le : 09-04-2006 Nombre de messages : 2089 |
Je ne comprend pas bien ce que tu veux dire. Est-ce que tu mets le liens vers une page HTML ou vers l'image ? Il faut le mettre vers l'image. Peux-tu nous donner des exemples réels (avec les vraix adresses et ce que tu mets réellement) ? ------------------------------------- toto |
|
|
#9 Message posté le : 16-12-2006 à 18:23:13 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 04-12-2005 Nombre de messages : 356 |
Justement, il n'y a pas d'image Voici le script qui génère l'image : http://www.debay.org/test/fortune.php Sa source : <?php
(...) j'ai enlevé la partie qui prend une citation au hasard dans un fichier...
La citation est dans la variable $Char
function affichage ($Char)
{
// nouvelle image 100*30
$im = imagecreate(500, 500);
// fond blanc et texte bleu
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);
// ajout de la phrase en haut � gauche
imagestring($im, 5, 0, 0, "$Char", $textcolor);
// affichage de l'image
header("Content-type: image/png");
imagepng($im);
}
affichage ($Char);
?>
Et pour inclure ca dans une page HTML, je définit une image qui a pour source ce script : http://www.debay.org/test/image.htm Le problème est que le forum en question (PhpBB) me demande une image, et ne veut rien d'autre. Je cherche à créer un fichier image à partir de ça. |
|
|
#10 Message posté le : 16-12-2006 à 21:35:24 |
Naboo Forum : Modérateur Association : Président Arrivé(e) le : 09-04-2006 Nombre de messages : 2089 |
Et si tu fais comme ça : ------------------------------------- toto |
|
|
#11 Message posté le : 17-12-2006 à 08:01:29 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 04-12-2005 Nombre de messages : 356 |
Attention le BBcode que tu as posté est interprété par Trustforum ! Et ca ne marche pas dans mon cas car le forum détecte que ce n'est pas une image mais un script PHP... il n'en veut pas. |
|
|
#12 Message posté le : 17-12-2006 à 11:28:35 |
Naboo Forum : Modérateur Association : Président Arrivé(e) le : 09-04-2006 Nombre de messages : 2089 |
Tu veux dire que le BBCode te refuse l'extension ? Dans ce cas, peux-tu renommer le fichier en .php.png et réconfigurer ton serveur web pour qu'il interprête le php sur les fichiers en *.php* et non seulement *.php ? ------------------------------------- toto |
|
|
#13 Message posté le : 17-12-2006 à 11:47:28 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 04-12-2005 Nombre de messages : 356 |
Oui, ça marche en utilisant ton astuce, c'est super ! Merci beaucoup ! |
| Page : [1] |
Forum » Blabla, demandes, annonces » Générer une image en fonction d'un texte |
Forum modéré par : jblecanard , Azollyx |
| Même auteur |
|
Score ( voter ) : |
|
- Petit scarabée : 0 pastille, moins de 100 messages
- Scarabée : 0 pastille, plus de 100 messages
- Hobbit : 1 pastille, plus de 1000 messages
- Naboo : 2 pastilles, plus de 2000 messages
- Elfe : 3 pastilles, plus de 3000 messages
- Jedi : 4 pastilles, plus de 4000 messages
- Maître Jedi : 5 pastilles, plus de 5000 messages