Effet miroir d'un texte (avec GD library)
Posté : 09 avr. 2007, 23:12
Voilà un petit script qui réalise l'effet miroir d'un texte, en affichant l'image avec le texte donné. Utile pour les titres d'un site si ces titres doivent être facilement modifiables par l'administrateur :
Illustrations :


Code source :

Exemple d'utilisation du script : <img src="imgs/dynamic/textout.php?t=Texte%20ici%20!" alt="Texte ici !" />, où textout.php est le nom du fichier du script.
Illustrations :


Code source :
<?php
$caption = $_GET['t']; // On peut passer dans le script le parametre 't' avec le texte a afficher.
// Exemple : <img src="imgs/dynamic/textout.php?t=Texte%20ici%20!" alt="Texte ici !" />
if (!$caption) $caption = "Text reflection";
$shadow_alpha = 20; // 0 : Transparent; 100 : Opaque
$fade_multiplier = 1.2; // Avec les valeurs plus grandes, l'ombre disparait plus rapidement vers le bas
header("Content-type: image/png");
$im = @imagecreatefrompng("textout.png"); // !!! - Mettre ici l'image de l'arriere plan (500x80)
$im2 = @imagecreate(500, 80); // Seconde image
$background_color = imagecolorallocate($im2, 255, 255, 255);
$green = imagecolorallocatealpha($im, 0, 0, 64, 0);
$green2 = imagecolorallocate($im2, 0, 0, 64);
imagecolortransparent($im2, $background_color);
$font = 'E:/FONTS/VENUSRIS.ttf'; // !!! - Mettre ici le nom de la police de caracteres a utiliser
imagettftext($im, 25, 0, 11, 51, $green, $font, $caption); // Ecrit le texte principal
imagettftext($im2, 25, 0, 11, 51, $green2, $font, $caption); // Ecrit le texte qui va servir de l'ombre sur l'image $im2
for ($i = 0; $i < 30; $i++) // Copie le texte de l'image $im2 a l'image $im, en inversant les lignes et en les decalant.
{
imagecopymerge($im, $im2, $i/4, 51+$i, 0, 51-$i, 500, 1, max($shadow_alpha-$i*$fade_multiplier, 0));
}
imagepng($im);
imagedestroy($im);
?>
Peut être ça peut servir à quelqu'un, qui sait... Exemple d'utilisation du script : <img src="imgs/dynamic/textout.php?t=Texte%20ici%20!" alt="Texte ici !" />, où textout.php est le nom du fichier du script.