watermark, filigrane automatique

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : watermark, filigrane automatique

Re: watermark, filigrane automatique

par Calimero » 27 août 2009, 14:32

Bonjour,

Une piste par ici : http://fr2.php.net/imagecopymerge

watermark, filigrane automatique

par fabrice88250 » 26 août 2009, 20:44

Bonjour,
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);   
      } 
   }    
} 

?>