mameyugo;

, 2 comentarios, 1702 lecturas, por: Jose Manuel Muras Rodrigo

este script sirve basicamente para todos aquellos vagos como yo que se cansan o no saben( mi caso) utilizar un programa de fotografia para meterle una marca de agua con el logo chulo de tu web.

pero para eso esta PHP, para suplir con codigo la falta de tiempo, solo le has de especificar la ruta en la que estan tus imagenes y la marca de agua, en esa misma carpeta crear 2 subcarpetas mas "tmp" y "conmarca", el script se encargara de cojer todas las imagenes .jpg y transformarlas en las mismas imagenes pero con la marca de agua incorporada en la carpeta "conmarca".

tampoco te has de preocupar de eliminar las imagenes para meter otras nuevas ya que el script se encarga de no volver a trabajar de nuevo(digamos que este seria un script vago, jeje).

sin mas dilacion ahi va el script (la mitad del script no es mio esta aqui):

 

<?php
/**
* codigo de blog.juegosocio.com
* no dudes en avisarme de los fallos
* autor mamel
**/
ini_set("max_execution_time","600");
ini_set("memory_limit","48M");

//indicamos el directorio inicial
$directorio='./';
//indicamos la carpeta de destino de las fotos con la marca de agua
$directorio_destino=$directorio.'conmarca/';

//metemos en un array los archivos que hay en cada una de las carpetas
$archivos_destino_dir=scandir($directorio_destino);
$archivos_dir=scandir($directorio);

//recorremos el array que contiene los archivos del directorio inicial
foreach($archivos_dir as $archivo){
    
/*escojemos entre los archivos solo aquellos que sean .jpg
    ( ojo las .JPG no valdrian ya que al escribir la nueva 
    foto el nombre de archivo iria en minusculas), y no se 
    procesaran anteriormente*/
    
if(ereg('.jpg',$archivo) and !in_array($archivo,$archivos_destino_dir)){
        
//indicamos donde se encuentra la marca de agua
        
$marcadeagua="marca_agua.png";
        
$origen=$archivo;
        
/*escojemos el mismo nombre de archivo para el jpg 
        generado con marca de agua*/
        
$destino=$directorio_destino.$archivo;
        
$destino_temporal=tempnam("tmp/","tmp");
        
//llamamos a la funcion
        
marcadeagua($origen$marcadeagua$destino_temporal100);
        
        
// guardamos la imagen
        
$fp=fopen($destino,"w");
        
fputs($fp,fread(fopen($destino_temporal,"r"),
        
filesize($destino_temporal)));
        
fclose($fp);
        
//escribimos en pantalla los archivos que se han analizado
        
echo $archivo."<br>";
    }
}

function 
marcadeagua($img_original$img_marcadeagua
$img_nueva$calidad){
    
// obtener datos de la fotografia
    
$info_original getimagesize($img_original);
    
$anchura_original $info_original[0];
    
$altura_original $info_original[1];
    
// obtener datos de la "marca de agua"
    
$info_marcadeagua getimagesize($img_marcadeagua);
    
$anchura_marcadeagua $info_marcadeagua[0];
    
$altura_marcadeagua $info_marcadeagua[1];
    
/* calcular la posición donde debe copiarse la 
    "marca de agua" en la fotografia*/
    
$horizmargen = ($anchura_original $anchura_marcadeagua)/2;
    
$vertmargen = ($altura_original $altura_marcadeagua)/2;
    
// crear imagen desde el original
    
$original ImageCreateFromJPEG($img_original);
    
ImageAlphaBlending($originaltrue);
    
// crear nueva imagen desde la marca de agua
    
$marcadeagua ImageCreateFromPNG($img_marcadeagua);
    
// copiar la "marca de agua" en la fotografia
    
ImageCopy($original$marcadeagua$horizmargen$vertmargen
    
00$anchura_marcadeagua$altura_marcadeagua);
    
// guardar la nueva imagen
    
ImageJPEG($original$img_nueva$calidad);
    
// cerrar las imágenes
    
ImageDestroy($original);
    
ImageDestroy($marcadeagua);
}
?> 

Comentarios sobre marca de agua con php y gd

avatar
Eva C.
26.Apr.2008
(rating: 5)

Hola Mamel! Tiene buena pinta tu blog. Me ha gustao el script vago este q has puesto, ya te lo mangare cuando me haga mi propia web ;) Besiños

avatar
mamel
09.Sep.2008
(rating: 4)

la marca de agua es muy importante para lograr contenido unico, pero la marca de agua con php y gd no es tan importante como lo puede ser la marca de agua para el ***. toda aquella persona que tenga un blog tiene marca de agua. php y gd mola

Unete!