Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Marca agua + libreria GD

Estas en el tema de Marca agua + libreria GD en el foro de PHP en Foros del Web. Hola, Tengo un pequeño problema... Tengo un catalogo, en donde muestro unos productos. Allí, tengo el efecto lightbox, el cual agranda la imagen en cuestion. ...
  #1 (permalink)  
Antiguo 23/10/2008, 09:16
 
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires, Mar del plata
Mensajes: 250
Antigüedad: 15 años, 9 meses
Puntos: 2
Marca agua + libreria GD

Hola,
Tengo un pequeño problema...
Tengo un catalogo, en donde muestro unos productos. Allí, tengo el efecto lightbox, el cual agranda la imagen en cuestion. Ahora quiero ponerle una imagen, con el efecto marca agua. Se puede hacer en tiempo real? Me refiero a que la imagen sea mostrada y se le pegue la marca delante, pero sin modificar la original, o si la modifica que se guarde en otro lado.

Alguno tiene algun codigo de ayuda? Porque las imagenes tienen distinto tamaño, y tendria que ajustar la marca agua tambien...

Muchas gracias!

saludos
  #2 (permalink)  
Antiguo 23/10/2008, 09:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Marca agua + libreria GD

Hola Alemanarg,

Sí es posible hacerlo en tiempo real pero el script puede llegar a consumir mucha memoria, lee la referencia en el manual de PHP, necesitas usar funciones como imagecopy() para copiar una parte en la otra y luego solo hacer el stream al browser usando image*().

Saludos.
  #3 (permalink)  
Antiguo 23/10/2008, 18:40
 
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires, Mar del plata
Mensajes: 250
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Marca agua + libreria GD

Ah, esta bien
gracias!

La duda que tengo es como hacer para que la marca agua se "amolde" a la imagen original. O sea que quede siempre la misma proporcion, ya que si por ejemplo una imagen es 1000x1000, y otra 500x500, seguramente la marca de agua se vera mas chica en la primera que en la segunda...
  #4 (permalink)  
Antiguo 23/10/2008, 20:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Marca agua + libreria GD

Con imagecopy puedes especificar el alto y ancho de la imagen destino, y la posicion en x y y.

Saludos.
  #5 (permalink)  
Antiguo 23/10/2008, 21:19
Avatar de srsombrero  
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años
Puntos: 0
Respuesta: Marca agua + libreria GD

Buenas antes que nada, perdon por haber contestado tarde pero hay una libreria muy buena para hacer marcas de agua que utiliza la libreria gd, no reinventemos la rueda...jeje.

http://phpthumb.sourceforge.net/demo/demo/phpThumb.demo.demo.php

Tiene el efecto reflection, creo que el marca de agua tambien, mirala que esta buena.

Estos son los efectos

http://phpthumb.sourceforge.net/demo/demo/phpThumb.demo.demo.php

Saludos
  #6 (permalink)  
Antiguo 24/10/2008, 19:20
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: Marca agua + libreria GD

Alemanarg:
Este script lo utilizo para ponerle marca de agua a mis imagenes.
La marca de agua la elabore con el photoshop y tiene una dimension de
77 x 17 pixeles y es un archivo PNG.
Las imagenes que utilizo son de 640 x 400 pixeles.
El script le pone exitosamente la marca de agua, que es un png blanco,
en la parte inferior izquierda de la imagen.
<?php
$_imagen = "nueva.jpg"; //imagen a procesar
$watermark = 'cristina.png'; //Imagen para watermark
$watermark = imagecreatefrompng($watermark); //Obtenemos watermark
//Obtenemos las dimensiones del watermark
$watermark_ancho = imagesx($watermark);
echo "El Ancho del watermark es: $watermark_ancho<br>";
$watermark_alto = imagesy($watermark);
echo "El Alto del watermark es: $watermark_alto<br>";
$imagen = imagecreatetruecolor($watermark_ancho, $watermark_alto);
//Obtenemos la Imagen donde queremos poner el watermark
$imagen = imagecreatefromjpeg($_imagen);
$dimension = getimagesize($_imagen);
echo "Ancho de la Imagen: $dimension[0]<br>";
echo "Alto de la Imagen: $dimension[1]<br>";
echo "Tipo de la Imagen: $dimension[2]<br>";
echo "Otros Datos de la Imagen: $dimension[3]<br>";
$destino_x = $dimension[0] - $watermark_ancho - 5;
echo "El Ancho del Destino es: $destino_x<br>";
$destino_y = $dimension[1] - $watermark_alto - 5;
echo "El Alto del Destino es: $destino_y<br>";
imagecopymerge($imagen, $watermark, $destino_x, $destino_y, 0, 0, $watermark_ancho, $watermark_alto, 100);
imagejpeg($imagen, "cristinay.jpg");
imagedestroy($imagen);
imagedestroy($watermark);
echo "<img src=\"cristinay.jpg\">"; //Imagen final
?>
Puedes poner este script en un directorio de tu web y dentro
pones la imagen a procesar y la imagen watermark.png para insertar.
Saludos
Y espero te ayude
franco
  #7 (permalink)  
Antiguo 24/10/2008, 19:29
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: Marca agua + libreria GD

Mira esto

http://www.forosdelweb.com/f18/edici...aporte-540846/

Quizás te sirva

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #8 (permalink)  
Antiguo 27/10/2008, 19:39
 
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires, Mar del plata
Mensajes: 250
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Marca agua + libreria GD

Muchas gracias!!!!!!
  #9 (permalink)  
Antiguo 01/05/2009, 17:18
 
Fecha de Ingreso: noviembre-2006
Mensajes: 1
Antigüedad: 17 años, 5 meses
Puntos: 0
Sonrisa Respuesta: Marca agua + libreria GD

Te consulto en relaciòn a como asignar la marca de agua, en imagenes generadas por el Componente Alberghi. Sabrias orientarme por favor, en donde debo efectuar las modificaciones para ello? Tengo la libreria GD de Php en mi servidor y trabajo con Joomla 1.0.15. Mi sitio es sierradelaventana . org
Muchas gracias desde ya por tu ayuda!


Cita:
Iniciado por GatorV Ver Mensaje
Hola Alemanarg,

Sí es posible hacerlo en tiempo real pero el script puede llegar a consumir mucha memoria, lee la referencia en el manual de PHP, necesitas usar funciones como imagecopy() para copiar una parte en la otra y luego solo hacer el stream al browser usando image*().

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:20.