Foros del Web » Programando para Internet » PHP »

marca de agua (novato)

Estas en el tema de marca de agua (novato) en el foro de PHP en Foros del Web. hola, amigos necesito de su ayuda una vez mas mediante el siguiente codigo cargo una fotos de productos ya redimencionadas con un tamaño mas pequeño ...
  #1 (permalink)  
Antiguo 12/04/2008, 21:54
Avatar de ronnyalfonzo  
Fecha de Ingreso: julio-2007
Ubicación: Maracaibo
Mensajes: 76
Antigüedad: 16 años, 9 meses
Puntos: 1
marca de agua (novato)

hola, amigos necesito de su ayuda una vez mas

mediante el siguiente codigo cargo una fotos de productos ya redimencionadas con un tamaño mas pequeño que el ogirinal de la foto.

Código PHP:
$patch=opendir('./imagenesupload/');
$entry =$archivo2;
$ROOT ='./imagenesupload/'.$entry;
if (
file_exists($ROOT)) {
   echo 
"<img src='imagenesupload/rd.php?imagen=$archivo2'>";
} else {
   echo 
"<img src='imagenesupload/rd.php?imagen=imagennodisponible.jpg'>";


el archivo llamado rd.php es con el cual redimenciono las fotos aqui esta el codigo

Código PHP:
$anchura=140;
$hmax=140;
$nombre=basename($_GET['imagen']);
$datos getimagesize($nombre);
if(
$datos[2]==1){$img = @imagecreatefromgif($nombre);}
if(
$datos[2]==2){$img = @imagecreatefromjpeg($nombre);}
if(
$datos[2]==3){$img = @imagecreatefrompng($nombre);}
$ratio = ($datos[0] / $anchura);
$altura = ($datos[1] / $ratio);
if(
$altura>$hmax){$anchura2=$hmax*$anchura/$altura;$altura=$hmax;$anchura=$anchura2;}
$thumb imagecreatetruecolor($anchura,$altura);
imagecopyresampled($thumb$img0000$anchura$altura$datos[0], $datos[1]);
if(
$datos[2]==1){header("Content-type: image/gif"); imagegif($thumb);}
if(
$datos[2]==2){header("Content-type: image/jpeg");imagejpeg($thumb);}
if(
$datos[2]==3){header("Content-type: image/png");imagepng($thumb); }
imagedestroy($thumb); 
ahora consegui este script que funciona bien para agregar marca de agua pero la verdad no se ni siquira donde ponerlo, si dentro del archivo llamado rd.php o lo coloco en el script donde llamo el archivo, la verdad no tengo ni idea de como agregarlo, ni de como acoplar ambos script, por favor denme una mano

watermark.php

Código PHP:
function obtenerImagenResource($file

  if (!
is_string($file)) 
  { 
      return 
false
  }   
   
    
$data getimagesize($file); 
    if (
$data === false
    { 
        return 
false
    } 
     
    switch (
$data['mime']) 
    { 
      case 
'image/jpeg'
      case 
'image/pjpeg'
        return 
imagecreatefromjpeg($file); 
        break; 
         
      case 
'image/png'
        return 
imagecreatefrompng($file); 
         
      case 
'image/gif'
        return 
imagecreatefromgif($file); 
         
    } 
     
    return 
false

function 
obtenerPosiciones($x$y, &$imagen, &$marca

    
$imagen_ancho imagesx($imagen); 
    
$imagen_alto imagesy($imagen); 
     
    
$marca_ancho imagesx($marca); 
    
$marca_alto imagesy($marca); 
     
    
$z 40
    
$anchox round((($imagen_ancho $marca_ancho) / $z) * $marca_ancho); 
    
$altox round((($imagen_alto $marca_alto) / $z) * $marca_ancho); 
     
    switch (
$x
    { 
      case 
'left'
        
$x $anchox
        break; 
         
      case 
'center'
        
$x round(($imagen_ancho 2) - ($marca_ancho 2)); 
        break; 
         
      case 
'right'
        
$x $imagen_ancho $marca_ancho $anchox
        break; 
         
      default: 
        if (!
is_numeric($x) || $x > ($imagen_ancho $marca_ancho)) 
        { 
            
$x 0
        } 
    } 
     
    switch (
$y
    { 
        case 
'top'
          
$y $altox
          break; 
           
        case 
'middle'
          
$y =  round(($imagen_alto 2) - ($marca_alto 2)); 
          break; 
           
        case 
'bottom'
          
$y $imagen_alto $marca_alto $altox
          break; 
           
        default: 
          if (!
is_numeric($y) || $y > ($imagen_alto $marca_alto)) 
          { 
              
$y 0
          } 
    } 
     
    return array(
$x$y); 

function 
obtenerImagen($imagen$marca$x 0$y 0

    
$imagen obtenerImagenResource($imagen); 
    if (
$imagen === false
    { 
        return 
false
    } 
    
$marca obtenerImagenResource($marca); 
    if (
$marca === false
    { 
      if (
$imagen !== false
      { 
          
imagedestroy($imagen); 
      } 
        return 
false
    } 
     
    list(
$x$y) = obtenerPosiciones($x$y$imagen$marca); 
     
    
imagecopy($imagen$marca$x$y00imagesx($marca), imagesy($marca)); 
     
    
ob_start(); 
    if (
imagejpeg($imagen)) 
    { 
        
$return ob_get_contents(); 
    } 
    
ob_end_clean(); 
     
    
imagedestroy($imagen); 
    
imagedestroy($marca); 
     
    return 
$return

$imagen 'http://www.tudominio.com/imagenesupload/Wallpaper.jpg'
$marca 'http://www.tudominio.com/imagenes/watermark.png'
header("Content-Type: image/jpeg"); 
echo 
obtenerImagen($imagen$marca'right''bottom'); 
NOTA: hago destacar que

1. estoy trabajando directamente en el servidor no trabajo localmente

2. la carpeta de las imagenes a cargar y redimencionar ($archivo2) estan en la siguiente direccion http://www.midominio.com/imagenesupload/

3. la imagen de marca de agua (watermark.png) esta en la siguiente direccion
http://www.midominio.com/imagenes/

Mil gracias por su ayuda
una explicacion no me caeria mal la orientacion. gracias
  #2 (permalink)  
Antiguo 13/04/2008, 21:18
Avatar de ronnyalfonzo  
Fecha de Ingreso: julio-2007
Ubicación: Maracaibo
Mensajes: 76
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: marca de agua (novato)

Algun cristiano que ayude a esta alma descarrianda...

Gracias de nuevo
  #3 (permalink)  
Antiguo 14/04/2008, 00:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: marca de agua (novato)

mira.... tu funcion de marka de agua puede estar donde kieras... eso si


si lo necesitas "incluyelo" o "requierelo" pero.... usalo, vaya... no importa ni donde ni cuando, siempre y cuando lo USES... cargalo una sola ves al principio de tu script usual, y usalo cuantas veces kieras...

solo, englobalo en una funcion... va?
usa tu voluntad para hacer lo ke deseas, no a los demas....
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 09:04.