Créer une page HTML avec 3 zones de saisie permettant
de saisir une hauteur et une largeur d’image ainsi
qu’un texte qui sera affiché dedans). On ajoutera
2 listes déroutantes permettant de sélectionner
la couleur de fond (rouge ou vert) et d’écriture
(noir ou blanche).
On ajoutera enfin un bouton appelé “ Créer
” permettant de générer l’image
correspondant avec le texte aligné en (5,5).
Solution
.HTML
<html>
<head>
<title>Creation d'images</title>
</head>
<body bgcolor="#FFFFFF"
text="#000000">
<form action="td5_1.php" METHOD="POST">
Hauteur
<input type="text" name="hauteur"
value="100" size=3><br>
Largeur
<input type="text" name="largeur"
value="200" size=3>
<br>Couleur de fond
<select name="coulfond">
<option value="Rouge">Rouge</option>
<option value="Vert">Vert</option>
</select>
<br>
<br>Couleur de caractères
<select name="coulcar">
<option value="Noir">Noir</option>
<option value="Blanc">Blanc</option>
</select>
<br><br>
Texte à afficher<input type="text" name="texte"
value="Texte" size=20 maxsize=50>
<p><input type="submit" value="Creer"></P>
</form>
</body>
</html>
.PHP
Header("Content-type: image/jpeg");
// on ne va pas retourner du HTML/Texte, mais une image
au format JPG
$coulcar=$HTTP_POST_VARS['coulcar'];
$coulfond=$HTTP_POST_VARS['coulfond'];
$texte=$HTTP_POST_VARS['texte'];
$largeur=$HTTP_POST_VARS['largeur'];
$longueur=$HTTP_POST_VARS['hauteur'];
$id=imagecreate($largeur,$hauteur);
if ($coulfond=="Rouge")
$couleur=imagecolorallocate($id, 200,50,50);
else
$couleur=imagecolorallocate($id, 50,200,50);
imagefill($id,0,0,$couleur);
if ($coulcar=="Noir")
$couleur=imagecolorallocate($id, 0,0,0);
else
$couleur=imagecolorallocate($id, 200,200,200);
imagestring($id,5,10,10,$texte,$couleur);
imagejpeg($id);
imagedestroy($id);