Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Poner marca de agua a carpeta de imágenes con php

Con este script php podemos poner o colocar una marca de agua a una carpeta llena de imágenes con php. Lo que hacemos es escanear el directorio completo donde estas subidas las imágenes he ir recorriendo el listado de imágenes completo y añadiendo la marca de agua.

Muy importante hacer una copia de seguridad de tu carpeta de imágenes ya que al usarlo son remplazadas por las imágenes con la marca de agua y es imposible volver atrás.

Ejemplo completo y explicado con comentarios en el código:
<?php

//Carpeta donde se guarda la marca de agua y las imagenes
$directorio='upload/';

//Escanear todas las imagenes
$imagenes = preg_grep('~\.(jpeg|jpg|png)$~', scandir($directorio,1));

//Cargar la marca de agua
$estampa = imagecreatefrompng($directorio.'logo.png');

//Recorrer el directorio
for ($i=0; $i < count($imagenes); $i++) {

//Excluir marca de agua llamada "logo.png"
if($imagenes[$i]!='logo.png'){

//Tipoo de fichero
$tipo=mime_content_type($directorio.$imagenes[$i]);

//Cargar ima imagen recien guardada (jpg y png)
if($tipo=='image/jpg' or $tipo=='image/jpeg'){
	$im = imagecreatefromjpeg($directorio.$imagenes[$i]);
} else if($tipo=='image/png'){
	$im = imagecreatefrompng($directorio.$imagenes[$i]);
}

//Establecer los márgenes para la estampa
$margen_dcho = 10;
$margen_inf = 10;
$sx = imagesx($estampa);
$sy = imagesy($estampa);

// Copiar la imagen de la estampa sobre nuestra foto usando los índices de márgen y el 
imagecopy($im, $estampa, imagesx($im) - $sx - $margen_dcho, imagesy($im) - $sy - $margen_inf, 0, 0, imagesx($estampa), imagesy($estampa));

//Remplazar la imagen con la marca de agua
if($tipo=='image/jpg' or $tipo=='image/jpeg'){
	imagejpeg($im,$directorio.$imagenes[$i]);
} else if($tipo=='image/png'){
	imagepng($im,$directorio.$imagenes[$i]);

}

}


}

?>

El resultado es algo así:
image_jpg
salu2
Editado
1
Puntos
190
Visitas
4
Resp
Por alber hace 2 semanas
Administrador
Respuesta #1
Este código para colocar sello de agua a multiples imágenes; es una maravilla. Lo he probado y funciona a la perfección. GRACIAS. :) :) :)
0
Puntos
Por rquilcate hace 2 semanas
Principiante Sitio web
Respuesta #2
rquilcate dijo: Este código para colocar sello de agua a multiples imágenes; es una maravilla. Lo he probado y funciona a la perfección. GRACIAS. :) :) :)
me alegro que te sirva de ayuda!! te agradecería que lo compartieras en tus redes sociales para hacer más guías como esta ;)

salu2!
1
Puntos
Por alber hace 2 semanas
Administrador
Respuesta #3
Desde luego que si amigo. Con mucho gusto! ;)
0
Puntos
Por rquilcate hace 2 semanas
Principiante Sitio web
Respuesta #4
rquilcate dijo: Desde luego que si amigo. Con mucho gusto! ;)
gracias! para cualquier cosa por aquí estamos.. luego le echamos un ojo a tu nuevo tema
1
Puntos
Por alber hace 2 semanas
Administrador
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate