"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je ajouter des filigranes aux images à l’aide de PHP ?

Comment puis-je ajouter des filigranes aux images à l’aide de PHP ?

Publié le 2024-11-06
Parcourir:647

How Can I Add Watermarks to Images Using PHP?

Ajouter des filigranes aux images à l'aide de PHP

Si vous travaillez sur un site Web qui permet aux utilisateurs de télécharger des images, vous devrez peut-être ajouter un filigrane sur ces images pour les protéger de toute utilisation non autorisée. L'ajout d'un filigrane garantit que votre logo ou votre marque est visible sur chaque image téléchargée. Voici comment y parvenir en PHP :

Utiliser les fonctions PHP

Le manuel PHP fournit un exemple complet utilisant les fonctions suivantes :

  • imagecreatefrompng() - Charge l'image du filigrane au format PNG
  • imagecreatefromjpeg() - Charge l'image originale à filigraner en tant que fichier PNG. JPEG
  • imagecopy() - Copie l'image du filigrane sur l'image d'origine

Positionnement du filigrane

Pour positionner efficacement le filigrane, vous peut spécifier les marges en utilisant les variables $marge_right et $marge_bottom. Cela vous permet de contrôler la distance entre le filigrane et les bords de l'image d'origine.

Sortie de l'image filigranée

Une fois le filigrane ajouté, vous pouvez sortir l'image filigranée à l'aide de la fonction header() pour définir le type de contenu sur PNG. Ensuite, utilisez imagepng() pour afficher l'image et imagedestroy() pour libérer la mémoire utilisée.

Exemple de code

Voici un exemple d'extrait de code :

// Load the stamp and the photo to apply the watermark to
$stamp = imagecreatefrompng('stamp.png');
$im = imagecreatefromjpeg('photo.jpeg');

// Set the margins for the stamp and get the height/width of the stamp image
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

// Copy the stamp image onto our photo using the margin offsets and the photo 
// width to calculate positioning of the stamp. 
imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));

// Output and free memory
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
Déclaration de sortie Cet article est reproduit sur: 1729231338 S'il y a une contrefaçon, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3