50 votes

Ajouter un filigrane aux images avec php

J'ai un site web où les utilisateurs peuvent télécharger des images...

Je dois ajouter mon logo (filigrane) aux images une fois qu'elles sont téléchargées.

Comment puis-je le faire ?

Il est important que le filigrane soit placé dans un coin où il sera visible. Par exemple, j'ai vu des sites Web qui génèrent un filigrane à la volée et le placent là où l'arrière-plan de l'image principale est "de la même couleur", de sorte que le filigrane ressort, si vous voyez ce que je veux dire.

Quelqu'un a-t-il un bon tutoriel ou un article à ce sujet ? Ou connaît-il une fonction en php dont j'aurais besoin pour trouver la position du filigrane ?

2voto

Gabriel Hurley Points 17079

ImageMagick fonctionne bien pour cela. Je l'ai déjà fait. Mais tout cela est un peu pénible. Surtout si vous voulez des modes de mélange fantaisistes et autres.

2voto

Baz Love Points 1
// Load the stamp and the photo to apply the watermark to

$stamp = imagecreatefrompng('stamp.png');
$im = imagecreatefromjpeg('photo.jpg');
$save_watermark_photo_address = 'watermark_photo.jpg';

// 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');

imagejpeg($im, $save_watermark_photo_address, 80); 
imagedestroy($im);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X