Salut à toutes et à tous!
Je me retrouve face à un problème que je n'arrive pas à résoudre. J'ai créé mon script qui me permet de créé un fond avec un texte grâce à la librairie GD. J'aimerai que l'image puisse être créé via un formulaire: un champ pour le texte et un autre pour le fond.
Jusque là tout va bien. J'ai ma page avec mon formulaire qui renvoie vers le script, fabrique l'image et l'affiche. Le problème c'est quand je désire afficher le formulaire et la dernière image créé. Quelle est la méthode adéquate?
Je vous remercie d'avance pour vos réponses!
Modifié par livininchina (05 Aug 2012 - 02:37)
Je me retrouve face à un problème que je n'arrive pas à résoudre. J'ai créé mon script qui me permet de créé un fond avec un texte grâce à la librairie GD. J'aimerai que l'image puisse être créé via un formulaire: un champ pour le texte et un autre pour le fond.
Jusque là tout va bien. J'ai ma page avec mon formulaire qui renvoie vers le script, fabrique l'image et l'affiche. Le problème c'est quand je désire afficher le formulaire et la dernière image créé. Quelle est la méthode adéquate?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="font_page.php" method="post" name="form" title="form" lang="fr">.
<label for="fontColor">Couleur texte :</label>
<select name="fontColor" id="fontColor">
<option value="#ffffff" selected="selected">#ffffff</option>
<option value="ffff00">#ffff00</option>
<option value="ffff22">ffff22</option>
<option value="ffff44">ffff44</option>
</select>
<label for="fontBg">Couleur fond :</label>
<select name="fontBg" id="fontBg">
<option value="#ffffff" selected="selected">#ffffff</option>
<option value="ffff00">#ffff00</option>
<option value="ffff22">ffff22</option>
<option value="ffff44">ffff44</option>
</select>
<input name="submit" type="submit" value="Valider" />
</form>
<?php
if (isset($_POST['submit']) AND isset($_POST['fontColor']) AND isset($_POST['fontBg']))
{
header("Content-type: image/png");
//largeur et hauteur image en px
$x = 200;
$y = 50;
// couleur fond et texte
$hex_bg_color = $_POST['fontColor'];
$hex_txt_color = $_POST['fontBg'];
// variables fonction imagettftext
$txt_size = '20';
$angle = '0';
$txt_x = '35';
$txt_y = '30';
$font_file = 'fonts/Cabaletta.ttf';
$txt_sample = 'Voici un texte !';
// Image en vraies couleurs
$image = imagecreatetruecolor($x,$y);
//couleur du background
$red = hexdec(substr($hex_bg_color,0,2));
$green = hexdec(substr($hex_bg_color,2,4));
$blue = hexdec(substr($hex_bg_color,4,6));
$bg_color = imagecolorallocate($image,$red,$green,$blue);
imagefilledrectangle($image, 0, 0, $x, $y, $bg_color);
//couleur du texte
$rouge = hexdec(substr($hex_txt_color,0,2));
$vert = hexdec(substr($hex_txt_color,2,4));
$bleu = hexdec(substr($hex_txt_color,4,6));
$txt_color = imagecolorallocate($image,$rouge,$vert,$bleu);
putenv('GDFONTPATH='.realpath('.'));
imagettftext($image, $txt_size, $angle, $txt_x, $txt_y, $txt_color, $font_file, $txt_sample);
imagepng($image);
imagedestroy($image);
}
?>
</body>
</html>
Je vous remercie d'avance pour vos réponses!
Modifié par livininchina (05 Aug 2012 - 02:37)