pour ma galerie photos je genere des miniatures à la volé avec le code ci dessous.
maintenant je souhaiterai mettre automatiquement un watermark a travers mes photos afin de les proteger.
j'ai biensur chercher sur google et trouvé des script et autre explications pour mettre un watermark (filigrane sur la photo) mais je ne comprend pas comment faire pour adapté ce genre de code à mon propre code.
Je suis donc a la recherche d'un coup de main, et je souhaiterai que le filigrane (watermark) soit a la fois sur les miniatures generé comme sur les grandes photos.
Voici mon code qui génere les miniatures :
<?php
/// on défini les tailles maxi pour nos miniatures
$hauteur_max = 120;
$largeur_max = 168;
// on défini le répertoire qui contient nos images de grande taille
$dir = '../images/galerie';
// si aucune image n'est donnée en arguments, on redirige le visiteur vers l'accueil de la galerie
if (!isset($_GET['f'])) {
header('location: http://www.monsite.com');
exit();
}
else {
// on récupère le nom de fichier à miniaturiser
$image = $_GET['f'];
$file = $dir.'/'.$image;
// on récupère les infos de cette image
$tableau = @getimagesize($file);
// si il ne s'agit pas d'un fichier image, on redirige le visiteur vers l'accueil de la galerie
if ($tableau == FALSE) {
header('location: http://www.monsite.com');
exit();
}
else {
// on détermine les dimensions de la miniature
$new_largeur=$tableau['0'];
$new_hauteur=$tableau['1'];
if ( $new_largeur > $largeur_max ) {
$coef=$new_largeur/$largeur_max;
$new_largeur=$new_largeur/$coef;
$new_hauteur=$new_hauteur/$coef;
}
if ( $new_hauteur > $hauteur_max ) {
$coef=$new_hauteur/$hauteur_max;
$new_largeur=$new_largeur/$coef;
$new_hauteur=$new_hauteur/$coef;
}
$img_out = imagecreatetruecolor($new_largeur, $new_hauteur);
// si notre image est de type jpeg
if ($tableau[2] == 2) {
$img_in = imagecreatefromjpeg($file);
imagecopyresampled($img_out, $img_in, 0, 0, 0, 0, $new_largeur, $new_hauteur, $tableau[0], $tableau[1]);
header("Content-type: image/jpg");
imagejpeg($img_out);
}
// si notre image est de type png
elseif ($tableau[2] == 3) {
$img_in = imagecreatefrompng($file);
imagecopyresampled($img_out, $img_in, 0, 0, 0, 0, $new_largeur, $new_hauteur, $tableau[0], $tableau[1]);
header("Content-type: image/png");
imagepng($img_out);
}
}
}
?>