Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/04/2008, 21:54
Avatar de ronnyalfonzo
ronnyalfonzo
 
Fecha de Ingreso: julio-2007
Ubicación: Maracaibo
Mensajes: 76
Antigüedad: 19 años, 2 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, $img, 0, 0, 0, 0, $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, $y, 0, 0, imagesx($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