Exercices PHP
Chapitre 1. Prise en main
Chapitre 2. Les formulaires
Chapitre 3. Accès au système de fichiers
Chapitre 4. Accès aux bases de données
Chapitre 5. Génération dynamique d'images
5.1. Création d'image
5.2. Couplage Image/BD
Chapitre 6. Variables de sessions
Page d'accueilTable des matièresNiveau supérieurPage précédenteBas de la pagePage suivante

5.1. Création d'image

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);

Page d'accueilTable des matièresNiveau supérieurPage précédenteHaut de la pagePage suivante