Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/04/2004, 02:42
yazo
 
Fecha de Ingreso: abril-2003
Mensajes: 363
Antigüedad: 21 años
Puntos: 3
¿como Solucionar Esto?

Hola:
Tengo un pequeño problemilla con un programilla de creación de miniaturas de las imagenes.

Resulta que el programa funciona correctamente de la siguiente forma:

Código PHP:
<?php

  
function redimensionar_jpeg($img_original$img_nueva$anchura$altura,$img_nueva_calidad) {

    
// crear imagen desde original
    
$img ImageCreateFromJPEG($img_original);
    
    
//miramos el tamaño de la imagen original
    
$datos getimagesize("original.jpg");

    
//Si el alto es mas grande que el ancho
    
if($datos[1]>$datos[0]){
    
        
//intentamos escalar la imagen original a la medida que nos interesa
        
$ratio = ($datos[1] / $altura);
           
$anchura round($datos[0] / $ratio);
    
            
// crear imagen nueva
           
$thumb ImageCreateTrueColor($anchura,$altura);
    
           
// redimensionar imagen original copiandola en la imagen
        
ImageCopyResized($thumb,$img,0,0,0,0,$anchura,$altura,$datos[0],$datos[1]);
    
            
// guardar la imagen redimensionada donde indicia $img_nueva
            
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
    }

    
//Si el ancho es mas grande que el alto
    
if($datos[0]>$datos[1]){
    
        
//intentamos escalar la imagen original a la medida que nos interesa
        
$ratio = ($datos[0] / $anchura);
            
$altura round($datos[1] / $ratio);
    
            
// crear imagen nueva
            
$thumb ImageCreateTrueColor($anchura,$altura);
    
            
// redimensionar imagen original copiandola en la imagen
        
ImageCopyResized($thumb,$img,0,0,0,0,$anchura,$altura,$datos[0],$datos[1]);
    
            
// guardar la imagen redimensionada donde indicia $img_nueva
            
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
    }
    
  }

  
redimensionar_jpeg("original.jpg","mini_original.jpg",200,200,100);
?>

El problema es que necesito que ahora el nombre de la imagen orgiginal me le den por un formulario, por el cual me pasan la variable $foto (nombre de la imagen original).
Entonces el programa quedaría de la forma:

Código PHP:
<?php
  
  
function redimensionar_jpeg($img_original$img_nueva$anchura$altura,$img_nueva_calidad) {
    
    
// crear imagen desde original
    
$img ImageCreateFromJPEG($img_original);
    
    
//miramos el tamaño de la imagen original
    
$datos getimagesize($foto);

    
//Si el alto es mas grande que el ancho
    
if($datos[1]>$datos[0]){
    
        
//intentamos escalar la imagen original a la medida que nos interesa
        
$ratio = ($datos[1] / $altura);
           
$anchura round($datos[0] / $ratio);
    
            
// crear imagen nueva
           
$thumb ImageCreateTrueColor($anchura,$altura);
    
           
// redimensionar imagen original copiandola en la imagen
        
ImageCopyResized($thumb,$img,0,0,0,0,$anchura,$altura,$datos[0],$datos[1]);
    
            
// guardar la imagen redimensionada donde indicia $img_nueva
            
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
    }

    
//Si el ancho es mas grande que el alto
    
if($datos[0]>$datos[1]){
    
        
//intentamos escalar la imagen original a la medida que nos interesa
        
$ratio = ($datos[0] / $anchura);
            
$altura round($datos[1] / $ratio);
    
            
// crear imagen nueva
            
$thumb ImageCreateTrueColor($anchura,$altura);
    
            
// redimensionar imagen original copiandola en la imagen
        
ImageCopyResized($thumb,$img,0,0,0,0,$anchura,$altura,$datos[0],$datos[1]);
    
            
// guardar la imagen redimensionada donde indicia $img_nueva
            
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
    }
    
  }

  
redimensionar_jpeg($foto,"mini_" .$foto,200,200,100);
?>
Pero no funciona.
¿Cual es el problema? ¿Que tengo que cambiar?

Muchas Gracias

Última edición por yazo; 07/04/2004 a las 02:43