Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/08/2011, 02:38
LucasTerry
 
Fecha de Ingreso: marzo-2009
Mensajes: 27
Antigüedad: 15 años, 8 meses
Puntos: 0
Agregar marca de agua a funcion para subir fotos

Hola. Tengo el siguiente tema:
1. Dispongo de un sistema para subir imágenes y textos para crear galerías de fotos.
El mismo sube las imágenes a un directorio, guarda thumbnails y me guarda los datos en una DB.

Lo que quiero es agregarle a todo esto un código para que antes de guardar la foto le ponga una watermark.

Esta es la función que utiliza para crear el thumbnail y escalarla:
Código PHP:
function thumbjpeg($imagen,$nombre) { 
     
// Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande". 
     
$dir_thumb "imagenes_ch/"
     
// Prefijo que se añadirá al nombre del thumbnail. Ejemplo: si la imagen grande fuera "imagen1.jpg", 
     // el thumbnail se llamaría "tn_imagen1.jpg" 
     
$prefijo_thumb "tn_"
     
// Aquí tendremos el nombre de la imagen. 
    
$nombre1=basename($imagen); 
     
// Aquí la ruta especificada para buscar la imagen. 
     
$camino dirname($imagen)."/"
     
// Intentamos crear el directorio de thumbnails, si no existiera previamente. 
     
if (!file_exists($camino.$dir_thumb)) 
          @
mkdir ($camino.$dir_thumb0777) or die("No se ha podido crear el directorio ".$camino.$dir_thumb); 
     
// Aquí comprovamos que la imagen que queremos crear no exista previamente 
     
$img = @imagecreatefromjpeg($imagen) or die("No se encuentra la imagen $camino$nombre<br>\n"); 
     
// miramos el tamaño de la imagen original... 
     
$datos getimagesize($camino.$nombre1) or die("Problemas con $camino$nombre1<br>\n"); 
     
// intentamos escalar la imagen original a la medida que nos interesa 
     
$anchura 450;
     
$altura=($anchura*$datos[1])/$datos[0];
     
// esta será la nueva imagen reescalada 
     
$thumb imagecreatetruecolor($anchura,$altura); 
     
//echo $camino.$dir_thumb.$prefijo_thumb.$nombre;
     // con esta función la reescalamos 
     
imagecopyresampled ($thumb$img0000$anchura$altura$datos[0], $datos[1]); 
     
// voilà la salvamos con el nombre y en el lugar que nos interesa. 
     
imagejpeg($thumb,$dir_thumb.$nombre); 
     } 
Le podré agregar algo como esto:
Código PHP:
$ruta_marca 'marca_de_agua.png';
$watermark imagecreatefrompng($ruta_marca);

$ruta_imagen 'Tulipanes.jpg';
$imagen imagecreatefromjpeg($ruta_imagen);

$tamanyo_imagen getimagesize($ruta_imagen);
$tamanyo_marca getimagesize($ruta_marca);

$dest_x $tamanyo_imagen[0] - $tamanyo_marca[0] - 10;
$dest_y $tamanyo_imagen[1] - $tamanyo_marca[1] - 10;
imagecopymerge($imagen$watermark$dest_x$dest_y00,$tamanyo_marca[0], $tamanyo_marca[1], 100);

imagejpeg($imagen);
imagedestroy($imagen);
imagedestroy($watermark); 
No soy programador.. gracias de antemano!
:)