Foros del Web » Programando para Internet » PHP »

Sellar imagen dinamicamente. Se puede?

Estas en el tema de Sellar imagen dinamicamente. Se puede? en el foro de PHP en Foros del Web. Hola. tengo una pag. de fotos y deseo agregarles el logo de mi web a cada una de las fotos, pero debido al gran volúmen ...
  #1 (permalink)  
Antiguo 29/08/2003, 16:25
Avatar de sakul  
Fecha de Ingreso: julio-2002
Mensajes: 274
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Sellar imagen dinamicamente. Se puede?

Hola. tengo una pag. de fotos y deseo agregarles el logo de mi web a cada una de las fotos, pero debido al gran volúmen de fotos que manejo no puedo usar Photoshop (no tengo tiempo)...

¿¿Existe alguna forma de hacerlo a través de PHP??

(la página que muestra cada foto esta hecha en PHP)
  #2 (permalink)  
Antiguo 29/08/2003, 21:41
 
Fecha de Ingreso: agosto-2003
Mensajes: 48
Antigüedad: 14 años, 3 meses
Puntos: 0
Como es el codigo de la previzualizacion, yol o cree, pero tengo un problema, los colores de la imagen previsualizada no son iguales a la real, es como que tiene una tonalidad sobre la imagen.
__________________
Nicolás Ancheta | [email protected]
  #3 (permalink)  
Antiguo 30/08/2003, 19:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Se puede perfectamente .. le llaman crear "marca de agua" y lo puedes hacer con las extensiones GD (o ImageMagic) donde abriras tu imagen .. la procesaras y la guardaras en tu servidor ... o bien la entregas al cliente (navegador) con esa "marca de agua" ..

Ejemplos puedes ver en scripts de esta sección de hotscripts.com:

http://www.hotscripts.com/PHP/Script...ion/index.html

(Se pueden usar PNG's transparentes .. y ahora gif transparentes pues sólo se leeran .. La imagen resultante la generas en PNG o JPG (gif no) )

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 30/08/2003, 20:41
Avatar de sakul  
Fecha de Ingreso: julio-2002
Mensajes: 274
Antigüedad: 15 años, 4 meses
Puntos: 0
Muchas Gracias- -Lo pondre en prueba y despues les cuento como me fue!
  #5 (permalink)  
Antiguo 30/08/2003, 23:48
Avatar de sakul  
Fecha de Ingreso: julio-2002
Mensajes: 274
Antigüedad: 15 años, 4 meses
Puntos: 0
Lo unico que encontre en Hotscript es un script que no logro entender.... pues la verdad es que recien comienzo con PHP.

CLUSTER, me podrías explicar un poco mejor como lograr insertar el WATERMARK a mis fotos?

Este es el script que utilizo para mostrar la foto:

Código PHP:
<? 
<table width="54%" height="115" border="0" align="center" cellpadding="0" cellspacing="2">
                  <
tr
                    <
td><div align="center">
                        <?
$imagen=$_GET["imagen"]?>
                        <br>
                        <br>
                        <div align="center"> <a href="javascript:window.history.back()"> 
                          <img src="dimensionar.php?imagen=uploaded/<?=$imagen?>&ancho=640" width="640" border="0"> 
                          </a> <br>
                          <?=ucwords(str_replace("_"," ",substr($imagen0, -4)))?>
                          <br>
                          <a href="javascript:window.history.back()"><b>Volver</b></a> 
                        </div>
                        <br>
                        <br>
                      </div>
                      <div align="left"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"></font></div></td>
                  </tr>
                </table> 
?>

Última edición por sakul; 30/08/2003 a las 23:52
  #6 (permalink)  
Antiguo 01/09/2003, 00:02
Avatar de sakul  
Fecha de Ingreso: julio-2002
Mensajes: 274
Antigüedad: 15 años, 4 meses
Puntos: 0
Por favor. alguien que me de una ayudita!!!!!
En serio lo necesito....
desde ya gracias
  #7 (permalink)  
Antiguo 01/09/2003, 03:54
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 6 meses
Puntos: 2
he oido por hay que estan haciendo "uno "... espera unos dias... y seguro que lo ponen,, creo que lo estan haciendo, a raiz de este post y otro mas.... jejejej, cuestion de tiempo amigo...
__________________
3w.valenciadjs.com
3w.laislatv.com
  #8 (permalink)  
Antiguo 01/09/2003, 17:44
Avatar de sakul  
Fecha de Ingreso: julio-2002
Mensajes: 274
Antigüedad: 15 años, 4 meses
Puntos: 0
Ok, esperaré... mientras voy a ir probando...
  #9 (permalink)  
Antiguo 01/09/2003, 18:09
Avatar de sdf23  
Fecha de Ingreso: diciembre-2002
Mensajes: 297
Antigüedad: 15 años
Puntos: 0
mira me parecio interesante esto por eso me tome la libertad de escribir el codigo que sella la imagen haber que te parece mira para sellar la imagen puedes usar png,jp y gif peor solo puedes crear imagenes jpg y png ademas le añadi la opcion de crear thumbnails con solo :

miscript.php?imagen=nombreimagenaparchear.png&alto =150&ancho=150 puedes dejar en blanco el ancho y solo tomara un ratio xxD, si no quieres thumnail solo pones :

miscript.php?imagen=nombreimagenaparchear.png

las imagenes se generan al vuelo pero si quieres que se guarden agrega:

para thumbnails:

miscript.php?imagen=nombreimagenaparchear.png&alto =150&ancho=150&nombre=mifoto.jpg

normal:

miscript.php?imagen=nombreimagenaparchear.png&nomb re=mifoto.jpg

se guardan en el directorio que especifiques en la variable $dir

ojala no te alla confundido y si es asi hasmelo saber, y por cierto creen que deba estar en las faqs?

ojo solo funciona con GD 2 o superior para que funcione con versiones anteriores deben cambiar peuqeñas cosas y ademas para parchear gifs y ponerlos como sello deben tener la opcion de leer gif's

codigo

Código PHP:
<?
ob_start
();
/* PARCHEADOR POR ELITE [email][email protected][/email] 
int imagecopy ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h)
*/

if(!empty($_GET['imagen']))
{
    
$imagen $_GET['imagen'];
    
$promo "publicidad.gif"//la imagen que sellara
    
$dir "imagenes/"//donde se guardaran las imagenes que no son al vuelo permisos CHMOD 0777
    
$explode explode(".",$imagen);
    
$final end($explode);
    
$final strtolower($final);
    switch(
$final)
    {
        case 
"jpg":
        
$im imagecreatefromjpeg($imagen);
        
$type "image/jpeg";
        break;
        case 
"png":
        
$im imagecreatefrompng($imagen);
        
$type "image/png";
        break;
        case 
"gif":
                                
$type "image/gif";
        
$im imagecreatefromgif($imagen);
        break;
    }    
    
$promoEXT explode(".",$promo);
    
$promoFINAL end($promoEXT);
    
$promoFINAL strtolower($promoFINAL);
    switch(
$promoFINAL)
    {
        case 
"jpg":
        
$promo_ imagecreatefromjpeg($promo);
        break;
        case 
"png":
        
$promo_ imagecreatefrompng($promo);
        case 
"gif":
        
$promo_ imagecreatefromgif($promo);
    }
        
    
$imX imagesx($im);
    
$imY imagesy($im);
    
    
$tam getimagesize($promo); //imagesx e imagesy me daban problemas asi que use este
    
    
$promoX $tam[0];
    
$promoY $tam[1];
    

    
$posX $imX $promoX
    
$posY 0

    
imagecopy($im,$promo_,$posX,$posY,0,0,$promoX,$promoY);
   
// imagecopymerge($im,$promo_,$posX,$posY,0,0,$promoX,$promoY,100); 
       
if((!empty($_GET['ancho'])) || (!empty($_GET['alto'])))
    {
        if(!isset(
$_GET['ancho']))
        {
            
$tamanio getimagesize($imagen);
            
$asp = ($tamanio[1] / $_GET['alto']);
            
$ancho round($tamanio[0] / $asp);
                
        }
        else
        {
            
$ancho $_GET['ancho'];
        }
        
/*
        imagecopyresized ( int dst_im, int src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH)
        */
        
$thumb imagecreatetruecolor($ancho,$_GET['alto']);
        
imagecopyresampled ($thumb,$im0000,$ancho,$_GET['alto'],$imX,$imY);
    
        if(empty(
$_GET['name']))
           {    
            
imagejpeg($thumb); 
            
imagedestroy($thumb);
            
header("Content-Type: ".$type);
            
header("Content-Disposition: inline; filename=elite.jpg");
        }
        else
        {
            
$explode explode(".",$_GET['name']);
            
$end end($explode);
            
$end strtolower($end);
            switch(
$end)
            {
                case 
"jpg":
                
imagejpeg($thumb,$dir.$_GET['name']);
                break;
                case 
"png":
                
imagepng($thumb,$dir.$_GET['name']);
                break;
            }
        }
    }
    else
    {
    
//
        
if(empty($_GET['name']))
           {    
            
imagejpeg($im); 
            
imagedestroy($im);
            
header("Content-Type: ".$type);
            
header("Content-Disposition: inline; filename=elite.jpg");
        }
        else
        {
            
$explode explode(".",$_GET['name']);
            
$end end($explode);
            
$end strtolower($end);
            switch(
$end)
            {
                case 
"jpg":
                
imagejpeg($im,$dir.$_GET['name']);
                break;
                case 
"png":
                
imagepng($im,$dir.$_GET['name']);
                break;
            }
        
//
        
}


    }

}
else
{
    
// si accesesan directo muestras error o no se
}
ob_end_flush();
?>
__________________

la vida es bella cuando no es culera

Última edición por sdf23; 01/09/2003 a las 18:18
  #10 (permalink)  
Antiguo 01/09/2003, 18:11
Avatar de sdf23  
Fecha de Ingreso: diciembre-2002
Mensajes: 297
Antigüedad: 15 años
Puntos: 0
por cierto nuevo a quien te referias que lo estaba haciendo?
__________________

la vida es bella cuando no es culera
  #11 (permalink)  
Antiguo 01/09/2003, 18:14
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 6 meses
Puntos: 2
xxxxxxxxddddddddd a tiiiiiiiiiiiiiiii jajajajaja, no recuerdas que me lo comentaste por msn.... saludo2


pd: yo lo incluiria en las FAQ, es una utilidad muy usada, ademas, yo lo acavo de probar con 3000 pics de golpe.... , perfecto....
__________________
3w.valenciadjs.com
3w.laislatv.com

Última edición por nuevo; 01/09/2003 a las 20:50
  #12 (permalink)  
Antiguo 04/09/2003, 01:24
Avatar de sakul  
Fecha de Ingreso: julio-2002
Mensajes: 274
Antigüedad: 15 años, 4 meses
Puntos: 0
MUCHAS GRACIAS sdf23!!!!

La verdad que el script es EXCELENTE!!

y seguro que debería ir a las FAQS!!!
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




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