Votre question

Watermark (filigrane en php)

Tags :
  • Script
  • Programmation
Dernière réponse : dans Programmation
13 Août 2007 17:46:44

Bonjour a tous j'ai souhaiterais integrer
un petit script permettant entre autre
d'imposer un filigrane sur mes images pour
ainsi mettre mon copiright....
J'ai trouver ce petit script sur le net, et j'ai un
petit soucis, mon image ne s'affiche pas....
a votre avis d'ou pourrais venir ce problem?
si non quand j'enleve mes deux fichiers
(WaterMark.php et .htacces) tout fonctionne correctement!
Mon site: http://csource.free.fr
et le lien du script:
http://www.asp-php.net/scripts/asp-php/watermark.php

Fichier .htaccess

addhandler wtmrk jpg
action wtmrk /galleriephoto/WaterMark.php

WaterMark.php

<?php

// Chemin et nom de fichier du fichier PNG à insérer dans l'image
// Pour ne pas utiliser d'image, commentez la ligne suivante

// Define('WATERMARK_IMAGE', './test.png');

// Intensité de transition en pourcentage
Define('WATERMARK_PERCENT', '60');

// Texte copyright à insérer dans l'image
// Pour ne pas utiliser de texte, commentez la ligne suivante

Define('WATERMARK_TEXT', 'Copyright (c) 2006 www.visualprod.net');

// Taille de la police de caractère ( 1 / 2 / 3 / 4 / 5 )
Define('WATERMARK_TEXT_FONT', '3');

// Le texte en mode Shadow (1 = oui - 2 = non)
Define('TEXT_SHADOW', '1');

// Couleur du texte
Define('TEXT_COLOR', '#FFFFFF');

// PARAMETRES GENERAUX
Define('WATERMARK_ALIGN_H', 'right'); // left / right / center
Define('WATERMARK_ALIGN_V', 'bottom'); // top / bottom / center
Define('WATERMARK_MARGIN', '10');
// --------------------------------------------------
$dr=preg_replace('/WaterMark\.php.+/', '', $_SERVER['PHP_SELF']);
$filename=str_replace($dr, './', $_SERVER['PATH_INFO']);
$lst=GetImageSize($filename);
$image_width=$lst[0];
$image_height=$lst[1];
$image_format=$lst[2];

if ($image_format==1) {
Header("Content-Type:image/gif");
readfile($filename);
exit;
} elseif ($image_format==2) {
$old_image=imagecreatefromjpeg($filename);
} elseif ($image_format==3) {
$old_image=imagecreatefrompng($filename);
} else {
readfile($filename);
exit;
}
if (Defined('WATERMARK_TEXT') && WATERMARK_TEXT!='') {

$color = eregi_replace("#","", TEXT_COLOR);
$red = hexdec(substr($color,0,2));
$green = hexdec(substr($color,2,2));
$blue = hexdec(substr($color,4,2));

$text_color = imagecolorallocate ($old_image, $red, $green, $blue);

$text_height=imagefontheight(WATERMARK_TEXT_FONT);
$text_width=strlen(WATERMARK_TEXT)*imagefontwidth(WATERMARK_TEXT_FONT);
$wt_y=WATERMARK_MARGIN;
if (WATERMARK_ALIGN_V=='top') {
$wt_y=WATERMARK_MARGIN;
} elseif (WATERMARK_ALIGN_V=='bottom') {

$wt_y=$image_height-$text_height-WATERMARK_MARGIN;
} elseif (WATERMARK_ALIGN_V=='center') {
$wt_y=(int)($image_height/2-$text_height/2);
}
$wt_x=WATERMARK_MARGIN;
if (WATERMARK_ALIGN_H=='left') {
$wt_x=WATERMARK_MARGIN;
} elseif (WATERMARK_ALIGN_H=='right') {
$wt_x=$image_width-$text_width-WATERMARK_MARGIN;
} elseif (WATERMARK_ALIGN_H=='center') {
$wt_x=(int)($image_width/2-$text_width/2);
}
if (TEXT_SHADOW=='1') {
imagestring($old_image, WATERMARK_TEXT_FONT, $wt_x+1, $wt_y+1, WATERMARK_TEXT, 0);
}
imagestring($old_image, WATERMARK_TEXT_FONT, $wt_x, $wt_y, WATERMARK_TEXT, $text_color);
}
if (Defined('WATERMARK_IMAGE') && WATERMARK_IMAGE!='' && file_exists(WATERMARK_IMAGE)) {

$lst2=GetImageSize(WATERMARK_IMAGE);
$image2_width=$lst2[0];
$image2_height=$lst2[1];
$image2_format=$lst2[2];

if ($image2_format==2) {
$wt_image=imagecreatefromjpeg(WATERMARK_IMAGE);
} elseif ($image2_format==3) {
$wt_image=imagecreatefrompng(WATERMARK_IMAGE);
}
if ($wt_image) {

$wt_y=WATERMARK_MARGIN;
if (WATERMARK_ALIGN_V=='top') {
$wt_y=WATERMARK_MARGIN;
} elseif (WATERMARK_ALIGN_V=='bottom') {
$wt_y=$image_height-$image2_height-WATERMARK_MARGIN;
} elseif (WATERMARK_ALIGN_V=='center') {
$wt_y=(int)($image_height/2-$image2_height/2);
}
$wt_x=WATERMARK_MARGIN;
if (WATERMARK_ALIGN_H=='left') {
$wt_x=WATERMARK_MARGIN;
} elseif (WATERMARK_ALIGN_H=='right') {

$wt_x=$image_width-$image2_width-WATERMARK_MARGIN;
} elseif (WATERMARK_ALIGN_H=='center') {
$wt_x=(int)($image_width/2-$image2_width/2);
}
imagecopymerge($old_image,$wt_image,$wt_x,$wt_y,0,0,$image2_width,$image2_height,WATERMARK_PERCENT);
}
}
if ($image_format==2) {
imageJpeg($old_image);
}
if ($image_format==3) {
imagePng($old_image);
}
?>

Et voici ce que j'ai mis dans le htaccess:

Et en ce qui conercne le WaterMark.php j'ai rien modifer!
Un petit screen-shot du ftp:

Shot at 2007-08-13

Autres pages sur : watermark filigrane php

13 Août 2007 18:28:25

Bonjour,
Je ne sais pas si c'est un bug officiel mais je ne vois pas la fin de certaine de tes phrases.
Cordialement,
a c 232 L Programmation
13 Août 2007 18:46:28

C'est parce qu'il y a des mots qui dépassent en largeur, alors ça bug... mais ça fait super longtemps que ce bug existe.

Sinon tu nous as tout donné, mais quel est ton problème ??
13 Août 2007 18:47:04

Et mainteant tu comprend mieux? ;) 
a c 232 L Programmation
13 Août 2007 18:49:18

Ah oui en effet. :D 
13 Août 2007 18:52:02

une suggestion peut-etre? :D  :D 
a c 232 L Programmation
13 Août 2007 18:59:56

D'après l'erreur, il y a un soucis dans le fichier .htaccess.

Tu l'as mis où le .htaccess ? A la racine du FTP ? Ou dans le dossier imgboss ?
Je pense que c'est à la racine qu'il faut le mettre ;) 
13 Août 2007 19:49:33

Ba j'ai mis dans le dossier imgboss, j'ai fait un screen-shot c'est pas pour rien :lol:  :p 
J'ai mis dans la racine et ca me fait un message d'erreur.
a c 232 L Programmation
13 Août 2007 20:11:31

Et ça te fait quel message d'erreur ?
14 Août 2007 09:36:51

Oui alors voici ce que ca me donne lorsque je met mon fichier htaccess dans la racine.
Bien sur le fichier que j'avais mis dans le repertoire imgboss a été supprimer et c'est celui la qui a été deplacé dans la racine :) 

a c 232 L Programmation
14 Août 2007 09:39:15

Et bien il y avait la même erreur lorsque tu l'avais mis dans imgboss, mais juste dans le répertoire imgboss...
14 Août 2007 10:36:28

Nan lorsque je le met dans imgboss il y avait pas ce probleme "fatal error" mais juste l'image qui n'appait pas!
a c 232 L Programmation
14 Août 2007 13:31:57

Essaie d'accéder à l'image directement, et tu devrais avoir le même problème !
14 Août 2007 14:00:28

J'ai pas compris ce que tu ma dit? :??: 
a c 232 L Programmation
14 Août 2007 14:43:49

Met le .htaccess dans le dossier imgboss et accède à l'image, tu auras l'erreur.

Edit: là le problème est le .htaccess qui est mal fait, il doit y avoir une erreur dans le chemin vers Watermark.php je pense...
17 Août 2007 14:30:15

A oui lorsque j'accede a l'image il y a le fameux "fatal error"
Alors comment je doit faire pour eviter ce message?
a c 232 L Programmation
17 Août 2007 14:43:25

Faudrait essayer de changer le chemin vers le fichier watermark.
Met le fichier .htaccess dans ton dossier imgboss, et enlève le chemin vers le watermark, laisse juste watermark.php vu que c'est dans le même dossier.
17 Août 2007 14:49:06

Oui je vien tout juste d'essayer mais rien ne marche ;) 
STP tu pourrais essayer ?
J'ai tout essayer meme en changant l'adresse ect...
17 Août 2007 15:29:26

Merci pour ton aide :) 
Je susi maudit :p  bref tu connais un autre script permettant de faire la meme chose ?
a c 232 L Programmation
17 Août 2007 15:36:25

Euh non désolé
17 Août 2007 15:37:38

Okay y a pas de Problem a bientot
19 Août 2007 20:29:18

Okay je vais voir ce que ca donne
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS