1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
| <?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);
}
?> |
Partager