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

Como hacer marca de agua al subir imagen con php?

Alguien sabe como hacer una marca de agua a una imagen subida mediante un formulario, yo la foto a mi servidor pero quiero hacer una marca de agua, estilo como milanuncios, gracias

enlace a la SOLUCIÓN!! https://datoweb.com/post/3016/poner-marca-de-agua-a-carpeta-de-imagenes-con-php
Editado
1
Puntos
3977
Visitas
5
Resp
Por Dannus hace 101 meses
Avanzado
Respuesta #1
<?php
// Cargar la estampa y la foto para aplicarle la marca de agua
$estampa = imagecreatefrompng('estampa.png');
$im = imagecreatefromjpeg('foto.jpeg');

// Establecer los márgenes para la estampa y obtener el alto/ancho de la imagen de 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
// ancho de la foto para calcular la posición de la estampa. 
imagecopy($im, $estampa, imagesx($im) - $sx - $margen_dcho, imagesy($im) - $sy - $margen_inf, 0, 0, imagesx($estampa), imagesy($estampa));

// Imprimir y liberar memoria
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>


Este ejemplo es una manera común de añadir marcas de agua y estampas a fotos y poner el copyright a imágenes. Observe que la presencia de un canal alfa en la imagen de la estampa como en el texto tiene anti-aliasing. Esto se conserva durante la copia.

fuente
http://php.net/manual/es/image.examples-watermark.php
1
Puntos
Por pablo hace 101 meses
Experto
Respuesta #2
hola te dejo un ejemplo listo para copiar, pegar y probar! solo tienes que ir ajustando los parámetros:
<?php 

header( "Content-type: image/jpeg" );
 
// Imagen base
$abajo = imagecreatefromjpeg( "http://www.maestrosdelweb.com/images/2009/08/crayones_jpg.jpg" );
// Imagen a superponer
$arriba = imagecreatefromjpeg( "https://datoweb.com/user/avatar/no_avatar.jpg" );
 
// Superponemos imagenes
imagecopy( $abajo, $arriba, 300, 133, 0, 0, 200, 200 );
 
// mostramos la imagen
imagejpeg( $abajo );
 
// Liberamos memoria
imagedestroy( $abajo );
imagedestroy( $arriba );


 ?>
2
Puntos
Por alber hace 101 meses
Administrador
Respuesta #3
muchas gracias me fue muy util
0
Puntos
Por Dannus hace 101 meses
Avanzado
Respuesta #4
Hola mi estimado; y como se podría hacer ese mismo marcado de agua pero en toda una carpeta de varias imagenes cargadas?

Por ejemplo: Colocar marca de agua a las imágenes que fueron subidas a la carpeta upload.

Gracias.
0
Puntos
Por rquilcate hace 71 meses
Experto Sitio web
Respuesta #5
rquilcate dijo: Hola mi estimado; y como se podría hacer ese mismo marcado de agua pero en toda una carpeta de varias imagenes cargadas?

Por ejemplo: Colocar marca de agua a las imágenes que fueron subidas a la carpeta upload.

Gracias.
hola, en teoría solo tienes que crear un bucle con la lista de imágenes que estas subiendo y repetir el proceso.. pero si quieres mejor abre un nuevo tema exponiendo tu caso y lo hablamos mas a fondo, ya que este tema tiene unos 3 años ;)

slds
1
Puntos
Por alber hace 71 meses
Administrador
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate