Voici donc cette fonction :


//Adresse de l'image source
// $img_finale ==> Adresse et nom de l'image finale
// $filigrane ==> Adresse du filigrane au format .gif
// Pour utiliser un format .jpeg
// modifier $image_c=imagecreatefromgif($filigrane);
// par $image_c=imagecreatefromjpeg($filigrane);
//
//$taillelarg ==> Largeur maximum de l'image après redimensionnement
// Il ne se passe rien si l'image est inférieure
//$taillehaut ==> Hauteur maximum de l'image après redimensionnement
// Il ne se passe rien si l'image est inférieure
//
//$opacity = 80 par defaut
function filigrane($img_src,$img_finale,$filigrane,$taillelarg,$taillehaut, $opacity = 80){
//largueur de l'affichage
$taille_larg=$taillelarg;
//hauteur de l'affichage
$taille_haut=$taillehaut;
//récuperation de l'extension
$extension = strrchr($img_src,'.');
switch($extension){
case ".gif":
$image_s=imagecreatefromgif($img_src) or die("Erreur à l'ouverture");break;
case".png":
$image_s=imagecreatefrompng($img_src) or die("Erreur à l'ouverture");break;
case ".jpg"||".jpeg"||".jpe"||".JPG"||".JPEG":
$image_s=imagecreatefromjpeg($img_src) or die("Erreur à l'ouverture");break;
}
//récupération des dimensions de l'image principale
$width=imagesx($image_s);
$height=imagesy($image_s);
//redimention de l'image source
if($width<=$height) //visuel horizontal
{
$ratio=max($width/$taille_larg, $height/$taille_haut);
$new_width=$taille_larg;
$new_height=$height/$ratio;
}
else //visuel vertical
{
$ratio=max($width/$taille_larg, $height/$taille_haut);
$new_width=$width/$ratio;
$new_height=$taille_haut;
}
//création de l'image source redimensionnée
$thumb=imagecreatetruecolor($new_width,$new_height);
imagecopyresized($thumb,$image_s,0,0,0,0,$new_width,$new_height,$width,$height);
//dimensions de l'image principale redimensionnée
$width_thumb=imagesx($thumb);
$height_thumb=imagesy($thumb);
//création de l'image copyright
$image_c=imagecreatefromgif($filigrane);
//récupération des dimensions de l'image du copyright
$larg_cop=imagesx($image_c);
$long_cop=imagesy($image_c);
//calcule la position du copyright sur l'axe des abscisses
$x=($width_thumb-$larg_cop)-10;
//calcule la position du copyright sur l'axe des ordonnées
$y=($height_thumb-$long_cop)-10;
//réalisation de la superposition
imagecopymerge($thumb,$image_c, $x, $y, 0, 0, $larg_cop, $long_cop, $opacity);
//sauvegarde de l'image
switch($extension){
case ".gif":
imagegif($thumb,$img_finale) or die ("Erreur de création gif");
break;
case".png":
imagepng($thumb,$img_finale) or die ("Erreur de création png");
break;
case ".jpg"||".jpeg"||".jpe"||".JPG"||".JPEG":
imagejpeg($thumb,$img_finale) or die ("Erreur de création jpeg");
break;
}
//libération de la mémoire
imagedestroy($image_s);
}
?>