par
westernz » 11 juil. 2015, 13:55
Au final. Du bricolage.
J'ai créé une image de filigrane en gif sans couleur de fond (un fond transparent).
Inutile de jouer avec l'opacité des claques elle sera supprimée.
L'image doit faire au moins la taille maximal des photos, soit pour moi 1000x1000px.
J'ai sauvé en gif 4 couleurs car je n'ai que 2 couleur + le fond transparent. Le fichier est donc très léger, 13ko.
Ma photo est un jpeg.
Je merge avec le gif à 50% de transparence pour le gif.
Avec du gif la photo doit au moins être égale à la taille de l'image qui sert de filigrane (je ne sais pas pourquoi).
Si l'image de filigrane est plus grande c'est pas grave. Elle sera coupée au format de la photo avec le merge.
Impossible de l'agrandir au format de la photo si jamais le gif est plus petit que la photo.
Résultat, ca fonctionne.
Code : Tout sélectionner
$temp_loc = './scripts/doc_temp_copyright';
$temp_file = './scripts/doc_temp_copyright/temp.jpeg';
$copyright_img = imagecreatefromgif($temp_loc."/copyright_gd.gif"); // Le logo est la source
$ma_photo = imagecreatefromjpeg($get_loc.'/'.$get_file); // La photo est la destination
$largeur = imagesx($ma_photo);
$hauteur = imagesy($ma_photo);
// On met le logo (source) dans l'image de destination (la photo)
imagecopymerge($ma_photo, $copyright_img, 0, 0, 0, 0, $largeur, $hauteur, 50);
// On affiche l'image de destination qui a été fusionnée avec le logo
imagejpeg($ma_photo, $temp_file, 100);
echo '<img src="'.$temp_file.'" align="center">';
Au final. Du bricolage.
J'ai créé une image de filigrane en gif sans couleur de fond (un fond transparent).
Inutile de jouer avec l'opacité des claques elle sera supprimée.
L'image doit faire au moins la taille maximal des photos, soit pour moi 1000x1000px.
J'ai sauvé en gif 4 couleurs car je n'ai que 2 couleur + le fond transparent. Le fichier est donc très léger, 13ko.
Ma photo est un jpeg.
Je merge avec le gif à 50% de transparence pour le gif.
Avec du gif la photo doit au moins être égale à la taille de l'image qui sert de filigrane (je ne sais pas pourquoi).
Si l'image de filigrane est plus grande c'est pas grave. Elle sera coupée au format de la photo avec le merge.
Impossible de l'agrandir au format de la photo si jamais le gif est plus petit que la photo.
Résultat, ca fonctionne.
[code] $temp_loc = './scripts/doc_temp_copyright';
$temp_file = './scripts/doc_temp_copyright/temp.jpeg';
$copyright_img = imagecreatefromgif($temp_loc."/copyright_gd.gif"); // Le logo est la source
$ma_photo = imagecreatefromjpeg($get_loc.'/'.$get_file); // La photo est la destination
$largeur = imagesx($ma_photo);
$hauteur = imagesy($ma_photo);
// On met le logo (source) dans l'image de destination (la photo)
imagecopymerge($ma_photo, $copyright_img, 0, 0, 0, 0, $largeur, $hauteur, 50);
// On affiche l'image de destination qui a été fusionnée avec le logo
imagejpeg($ma_photo, $temp_file, 100);
echo '<img src="'.$temp_file.'" align="center">';
[/code]