Creation de miniatures d'images avec watermark
Posté : 15 oct. 2009, 17:20
Bonjour,
Je désepère ... j'essaye en vain depuis des heures à rassembler deux codes pour pouvoir créer des miniatures d'images avec watermark intégré.
J'ai beau essayer un peu tout, ca foire intégralement lorsque je désire imbriquer un imagecopymerge dans mon code ci-dessous.
Pouvez-vous m'aider à réaliser cet exercice ?
Voici le code de redimensionnement des images
Et voici le code pour le watermark que j'ai trouvé sur le web
Merci pour votre aide,
Raph
Je désepère ... j'essaye en vain depuis des heures à rassembler deux codes pour pouvoir créer des miniatures d'images avec watermark intégré.
J'ai beau essayer un peu tout, ca foire intégralement lorsque je désire imbriquer un imagecopymerge dans mon code ci-dessous.
Pouvez-vous m'aider à réaliser cet exercice ?
Voici le code de redimensionnement des images
// ON VA CREER LES MINIATURES D'IMAGES
// On teste si le fichier n'est pas vide
if($file_size){
// On crée les images en fonction du type
if($file_type == "image/pjpeg" || $file_type == "image/jpeg"){
$new_img = imagecreatefromjpeg($file_tmp);
}elseif($file_type == "image/x-png" || $file_type == "image/png"){
$new_img = imagecreatefrompng($file_tmp);
}elseif($file_type == "image/gif"){
$new_img = imagecreatefromgif($file_tmp);
}
// On crée l'image MINI
// On liste la hauteur et la lageur et on défini le ratio pour les MINI
list($width, $height) = getimagesize($file_tmp);
$imgratio=$width/$height;
$newwidth = $Thumbs_Mini_Height*$imgratio;
$newheight = $Thumbs_Mini_Height;
// On teste si la fonction imagecreatetruecolor existe.
if (function_exists(imagecreatetruecolor)){
$resized_img = imagecreatetruecolor($newwidth,$newheight);
}else{
die('Erreur: Veuillez vous assurez que votre hébergement possède bien la librairie GD version 2 ou +');
}
imagecopyresampled($resized_img, $new_img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
//sauvegarde de l'image
ImageJpeg ($resized_img,''.$dirpictures.$CfgDir_Thumbs.'/'.$CfgDir_Thumbs_Mini.'/'.$file_name.'',$Thumbs_Mini_Quality);
ImageDestroy ($resized_img);
chmod("".$CfgRelDir."/".$dirpictures.$CfgDir_Thumbs."/".$CfgDir_Thumbs_Mini."/".$file_name."", 0644);
// DEBUG OUTPUT
//echo 'MINI Thumb: <a href='.$dirpictures.'thumbs/mini/'.$file_name.'><i>'.$file_name.'</i></a> a correctement été créé<br />'; Et voici le code pour le watermark que j'ai trouvé sur le web
<?php
header("Content-Type: image/jpeg");
require_once ('.dirsys/conf/config.inc.php');
// On chope la taille de l'image pour le watermark
$size = getimagesize($_GET['photo']);
// on teste la taille (height) pour y attribuer le bon logo watermark
if ($size[1] == 113) {
$watermark = imagecreatefrompng(''.$Watermark_Logo_Small.'');
} elseif ($size[1] == 480) {
$watermark = imagecreatefrompng(''.$Watermark_Logo_Medium.'');
} elseif ($size[1] > 480) {
$watermark = imagecreatefrompng(''.$Watermark_Logo_Big.'');
}
// On travaille les images et on sors l'output
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefromjpeg($_GET['photo']);
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $Watermark_Opacity);
imagejpeg($image);
imagedestroy($image);
imagedestroy($watermark);
?>
Pouvez-vous me montrer comment je dois procéder pour créer les miniatures et y apposer un watermark (image PNG) en même temps ?Merci pour votre aide,
Raph