Hola ya se que el tema de las marcas de agua en los archivos JPG se ha hablado mucho en este foro, pero es que no encuentro un solo scrip que funcione bien. Tengo las librerias GD o (como se llamen) instaladas. Tengo este código extraido delhttp://www.elguruprogramador.com.ar/articulos/marcas-de-agua-automaticas-con-php-y-gd.htm y es el unico que me funciona pero el problema es que me pone la marca de agua justo en el centro de la imagen y lo que deseo es que sea en una esquina.
Si alguien sabe de este tema, por favor, editen el código o recomiendenme otro de caracteristicas similares porque yo no se cuales son las variables que determinan la posición de la marca de agua en la imagen.
Alla va el código
Código PHP:
<?php
$image = $_GET['i'];
$watermark = "water.png";
$im = imagecreatefrompng($watermark);
$ext = substr($image, -3);
if(strtolower($ext) == "gif") {
if (!$im2 = imagecreatefromgif($image)) {
echo "Error opening $image!"; exit;
}
} else if(strtolower($ext) == "jpg") {
if (!$im2 = imagecreatefromjpeg($image)) {
echo "Error opening $image!"; exit;
}
} else if(strtolower($ext) == "png") {
if (!$im2 = imagecreatefrompng($image)) {
echo "Error opening $image!"; exit;
}
} else {
die;
}
imagecopy($im2, $im, (imagesx($im2)/2)-(imagesx($im)/2), (imagesy($im2)/2)-(imagesy($im)/2), 0, 0, imagesx($im), imagesy($im));
if($_GET[repeat]) {
$waterless = imagesx($im2) - imagesx($im);
$rest = ceil($waterless/imagesx($im)/2);
for($n=1; $n<=$rest; $n++) {
imagecopy($im2, $im, ((imagesx($im2)/2)-(imagesx($im)/2))-(imagesx($im)*$n), (imagesy($im2)/2)-(imagesy($im)/2), 0, 0, imagesx($im), imagesy($im));
imagecopy($im2, $im, ((imagesx($im2)/2)-(imagesx($im)/2))+(imagesx($im)*$n), (imagesy($im2)/2)-(imagesy($im)/2), 0, 0, imagesx($im), imagesy($im));
}
}
header("Content-Type: image/jpeg");
imagejpeg($im2);
imagedestroy($im);
imagedestroy($im2);
?>