Tout d'abord, je vous recommande de générer un ensemble d'images de filigrane de différentes tailles au lieu de redimensionner à la volée ».
Ci-dessous je l'ai décrit un flux de travail de la façon dont Watermark images dynamiquement sur un site:
Concevoir un bon filigrane
tout d'abord, essayez de concevoir le filigrane avec un fond transparent. Cela réduira considérablement le risque de masquer les parties essentielles de l'image cible. Cela peut être fait en utilisant le gif ou (de préférence) le format d'image png. Assurez-vous simplement que le filigrane transparent fonctionne bien à la fois sur les arrière-plans clairs et sombres.
Tenez également compte de la meilleure façon de concevoir le filigrane qui fonctionne à la fois pour les images de style portrait et paysage et les images avec des rapports d'aspect maladroits. Vous devriez envisager de faire deux versions - une pour les images larges et une pour les grandes images. Pour ce dernier type, vous pouvez faire pivoter le filigrane de 90 degrés ou, si le filigrane est composé de texte, vous pouvez scinder le texte en deux ou plusieurs lignes.
Prérendu le filigrane en plusieurs tailles différentes
Donc, ne pas redimensionner dynamiquement le filigrane, au lieu que je vous recommande de rendre un ensemble d'images en filigrane avec des tailles différentes. Cela ne doit être fait qu'une seule fois et cela améliorera grandement la clarté et/ou la lisibilité du filigrane (en particulier pour les petites images cibles).
Selon la différence de taille des images sur la page Web, vous pouvez avoir besoin d'un nombre de tailles plus ou moins grand. C'est un choix de conception que vous devrez faire, mais je pense que vous pourriez vous en sortir avec seulement deux ou trois tailles différentes.
Appliquer le filigrane
Cela se produira de façon dynamique sur le côté serveur (php dans votre fichier). D'abord, trouvez les dimensions de l'image cible en utilisant la fonction getimagesize. Avec cette information à portée de main, vous devrez décider quelle version du filigrane utiliser en fonction de la taille, du format et de l'orientation. Par exemple.
if ($width > $height) {$useLandscapeWatermark=true;}
if ($width > 100 && $width < 400) {$watermarkSize=2;}
etc.
Enfin, pour appliquer le filigrane que je vous recommande de regarder la gd library. C'est une bibliothèque puissante qui peut faire beaucoup de trix, entre autres fusionner deux images. Une alternative est ImageMagic.
Bonne chance!
Souhaitez-vous conserver le format du filigrane lorsqu'il est réduit? –