GD pour les nuls
Fermé
riecola
Messages postés
22
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 avril 2006
-
14 févr. 2006 à 18:36
ricric Messages postés 34 Date d'inscription jeudi 12 mai 2005 Statut Membre Dernière intervention 11 mai 2006 - 8 avril 2006 à 14:17
ricric Messages postés 34 Date d'inscription jeudi 12 mai 2005 Statut Membre Dernière intervention 11 mai 2006 - 8 avril 2006 à 14:17
A voir également:
- GD pour les nuls
- Tableau croisé dynamique pour les nuls - Guide
- Google drive pour les nuls - Guide
- Onedrive pour les nuls - Guide
- Iptv pour les nuls - Forum Téléviseurs
- Sap pour les nuls pdf gratuit - Forum Programmation
6 réponses
riecola
Messages postés
22
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 avril 2006
14 févr. 2006 à 19:42
14 févr. 2006 à 19:42
pffffff , c'est toujours après que la solution saute aux yeux... c'est bon j'ai réussi à afficher ce que je voulais.
cependant si vous pouvez me dire comment écrire sur mon image en GD je veux bien!!!
Merci
cependant si vous pouvez me dire comment écrire sur mon image en GD je veux bien!!!
Merci
Ca serait bien de partager ta solution, plutot que de laisser un message disant que tu as trouvé... car moi je galère avec le même probleme, mais avec tout le code dans la meme page!
riecola
Messages postés
22
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 avril 2006
6 avril 2006 à 21:16
6 avril 2006 à 21:16
salut!
Je me rappele plus de ce qui marchait pas mais voila code qui transforme un image jpeg en GD:
Mets bien ton image ds meme dossier que ce fichier.php
En plus si tu veux rajouter du texte dessus voila (dans un nouveau fichier.php)
(les variables proviennent d'un formulaire)
J'ai pas reussi à melanger du texte php et image en gd, il faut gere des sesions ou des cookies parait il. DOnc le texte ici sera en GD (c'est tjs mieux que rien)
Normalement ca marche au pire je peux t'envoyer mon dossier zipé
Je me rappele plus de ce qui marchait pas mais voila code qui transforme un image jpeg en GD:
<?php header("Content-type:image/jpeg"); $src_im=imagecreatefromjpeg("anniv1.jpg"); $src_w=imagesx($src_im); $src_h=imagesy($src_im); $dst_w=floor($src_w*0.5); $dst_h=floor($src_h*0.5); $dst_im=imagecreatetruecolor($dst_w,$dst_h); imagecopyresampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h); imagejpeg($dst_im); imagedestroy($dst_im); imagedestroy($src_im); ?>
Mets bien ton image ds meme dossier que ce fichier.php
En plus si tu veux rajouter du texte dessus voila (dans un nouveau fichier.php)
<?php $nom_image = $_POST["image"]; $texte = $_POST["texte"]; $var1 = "Bonjour ".$_POST["destinataire"].", ".$_POST["expediteur"]." vous envoie cette carte"; $message = $_POST ["verso"]; header ("Content-type: image/jpeg"); $image = imagecreatefromjpeg($nom_image); $image_w=imagesx($image); $image_h=imagesy($image); $dst_w=floor($image_w*1.5); $dst_h=floor($image_h*1.5); function centrage_texte($z,$y) { $a = strlen($z); $b = imagefontwidth($y); $c = $a*$b; $d = 759-$c; $e = $d/2; return $e; } $dst_im=imagecreatetruecolor($dst_w,$dst_h); imagecopyresampled($dst_im,$image,0,0,0,0,$dst_w,$dst_h,$image_w,$image_h); $noir = imagecolorallocate($dst_im, 0, 0, 0); $blanc = imagecolorallocate($dst_im, 255, 255, 255); $policeTitre = 10; imageFilledRectangle ($dst_im,240,240,520,280,$blanc); imagestring($dst_im, $policeTitre,centrage_texte($var1,$policeTitre),5,$var1,$noir); imagestring($dst_im, 10, 0, 400,$message,$noir); imagestring($dst_im,$policeTitre,centrage_texte($texte,$policeTitre),250,$texte,$noir); imagejpeg($dst_im); ?> <img src="anniversaire.php"/>
(les variables proviennent d'un formulaire)
J'ai pas reussi à melanger du texte php et image en gd, il faut gere des sesions ou des cookies parait il. DOnc le texte ici sera en GD (c'est tjs mieux que rien)
Normalement ca marche au pire je peux t'envoyer mon dossier zipé
ricric
Messages postés
34
Date d'inscription
jeudi 12 mai 2005
Statut
Membre
Dernière intervention
11 mai 2006
7
7 avril 2006 à 15:40
7 avril 2006 à 15:40
"J'ai pas reussi à melanger du texte php et image en gd"
Bonjour
Qu'entends-tu par cette phrase ?
Ton code écris bien du texte sur une image.
C'est quoi cettte histoire de mélange ??
Bonjour
Qu'entends-tu par cette phrase ?
Ton code écris bien du texte sur une image.
C'est quoi cettte histoire de mélange ??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
riecola
Messages postés
22
Date d'inscription
jeudi 26 janvier 2006
Statut
Membre
Dernière intervention
7 avril 2006
7 avril 2006 à 16:06
7 avril 2006 à 16:06
SAlut
Quand je dis que je ne reussis pas à mélanger du texte PHP et une image GD c'est que je voulais qu'il y ait affiché "bonjour, voila la prévisualisation de votre carte" en caractère comme sur une page HTML ,et qu'en dessous il y ait l'image en GD puis qu'a nouveau on ait un texte normal type HTML pr le message de la Ecard.
Or si je veux mettre un texte echo en php et que je le met avant le code qui genere l'image GD on a juste l'image, le texte n'apparait pas.
Si je met le texte echo php après le code GD j'ai le texte mais le serveur interprete mon image dans un charabia pas possible.
Mon prof m'a dit que pour faire ce que je voulais il me fallait des sessions ou des cookies (pour enregistrer les variables du formulaires). Comme je ne savais pas faire ca je me suis débrouillée.
Donc le code si dessus marque le texte non pas en caractère normal ms interpreté en GD (c'est pourquoi la qualité des lettres est médiocre).c'est la seule facon que j'ai trouvé pour mettre du texte et une image GD quand on y connait rien.
J'espere que j'ai reussi à etre claire.
Quand je dis que je ne reussis pas à mélanger du texte PHP et une image GD c'est que je voulais qu'il y ait affiché "bonjour, voila la prévisualisation de votre carte" en caractère comme sur une page HTML ,et qu'en dessous il y ait l'image en GD puis qu'a nouveau on ait un texte normal type HTML pr le message de la Ecard.
Or si je veux mettre un texte echo en php et que je le met avant le code qui genere l'image GD on a juste l'image, le texte n'apparait pas.
Si je met le texte echo php après le code GD j'ai le texte mais le serveur interprete mon image dans un charabia pas possible.
Mon prof m'a dit que pour faire ce que je voulais il me fallait des sessions ou des cookies (pour enregistrer les variables du formulaires). Comme je ne savais pas faire ca je me suis débrouillée.
Donc le code si dessus marque le texte non pas en caractère normal ms interpreté en GD (c'est pourquoi la qualité des lettres est médiocre).c'est la seule facon que j'ai trouvé pour mettre du texte et une image GD quand on y connait rien.
J'espere que j'ai reussi à etre claire.
ricric
Messages postés
34
Date d'inscription
jeudi 12 mai 2005
Statut
Membre
Dernière intervention
11 mai 2006
7
8 avril 2006 à 14:17
8 avril 2006 à 14:17
Riecola--> >Merci, j'ai maintenant compris ton problème.
Jeje--> en reprenant le code de Riecola, voici une solution pour afficher, dans une page HTML, une image modifiée en utilisant la bibliothèque GD.
1 Page html avec le formulaire de saisie des champs
******************************************
image
texte
destinataire
expediteur
verso
2 Page html (XXX est à remplacer par les valeurs saisies lors de l'étape précédente)
******************
ICI code HTML à placer avant l'image modifiée<br />
<img src="anniversaire.php?image=XXX&texte=XXX&destinataire=XXX&expediteur=XXX&verso=XXX" />
<br /><br />
ICI Code HTML à placer après l'image modifiée<br />
3 anniversaire.php (script appellé lors du chargement de la page 2)
***************
<?php
function centrage_texte($z,$y) {
$a = strlen($z);
$b = imagefontwidth($y);
$c = $a*$b;
$d = 759-$c;
$e = $d/2;
return $e;
}
$nom_image = $_POST["image"];
$texte = $_POST["texte"];
$var1 = "Bonjour ".$_POST["destinataire"].", ".$_POST["expediteur"]." vous envoie cette carte";
$message = $_POST ["verso"];
header ("Content-type: image/jpeg");
$image = imagecreatefromjpeg($nom_image);
$image_w=imagesx($image);
$image_h=imagesy($image);
$dst_w=floor($image_w*1.5);
$dst_h=floor($image_h*1.5);
$dst_im=imagecreatetruecolor($dst_w,$dst_h);
imagecopyresampled($dst_im,$image,0,0,0,0,$dst_w,$dst_h,$image_w,$image_h);
$noir = imagecolorallocate($dst_im, 0, 0, 0);
$blanc = imagecolorallocate($dst_im, 255, 255, 255);
$policeTitre = 10;
imageFilledRectangle ($dst_im,240,240,520,280,$blanc);
imagestring($dst_im, $policeTitre,centrage_texte($var1,$policeTitre),5,$var1,$noir);
imagestring($dst_im, 10, 0, 400,$message,$noir);
imagestring($dst_im,$policeTitre,centrage_texte($texte,$policeTitre),250,$texte,$noir);
imagejpeg($dst_im);
?>
********************************
Jeje--> en reprenant le code de Riecola, voici une solution pour afficher, dans une page HTML, une image modifiée en utilisant la bibliothèque GD.
1 Page html avec le formulaire de saisie des champs
******************************************
image
texte
destinataire
expediteur
verso
2 Page html (XXX est à remplacer par les valeurs saisies lors de l'étape précédente)
******************
ICI code HTML à placer avant l'image modifiée<br />
<img src="anniversaire.php?image=XXX&texte=XXX&destinataire=XXX&expediteur=XXX&verso=XXX" />
<br /><br />
ICI Code HTML à placer après l'image modifiée<br />
3 anniversaire.php (script appellé lors du chargement de la page 2)
***************
<?php
function centrage_texte($z,$y) {
$a = strlen($z);
$b = imagefontwidth($y);
$c = $a*$b;
$d = 759-$c;
$e = $d/2;
return $e;
}
$nom_image = $_POST["image"];
$texte = $_POST["texte"];
$var1 = "Bonjour ".$_POST["destinataire"].", ".$_POST["expediteur"]." vous envoie cette carte";
$message = $_POST ["verso"];
header ("Content-type: image/jpeg");
$image = imagecreatefromjpeg($nom_image);
$image_w=imagesx($image);
$image_h=imagesy($image);
$dst_w=floor($image_w*1.5);
$dst_h=floor($image_h*1.5);
$dst_im=imagecreatetruecolor($dst_w,$dst_h);
imagecopyresampled($dst_im,$image,0,0,0,0,$dst_w,$dst_h,$image_w,$image_h);
$noir = imagecolorallocate($dst_im, 0, 0, 0);
$blanc = imagecolorallocate($dst_im, 255, 255, 255);
$policeTitre = 10;
imageFilledRectangle ($dst_im,240,240,520,280,$blanc);
imagestring($dst_im, $policeTitre,centrage_texte($var1,$policeTitre),5,$var1,$noir);
imagestring($dst_im, 10, 0, 400,$message,$noir);
imagestring($dst_im,$policeTitre,centrage_texte($texte,$policeTitre),250,$texte,$noir);
imagejpeg($dst_im);
?>
********************************