Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/09/2007, 15:06
Avatar de @padawan@
@padawan@
 
Fecha de Ingreso: julio-2005
Mensajes: 393
Antigüedad: 18 años, 9 meses
Puntos: 6
Estoy haciendo un listado con thundbails pero tengo dos problemas!

Hola que tal, bueno lo que quiero hacer es un listado como un resultado de busqueda pero con imagenes y algun que otro texto porque estoy haciendo un banco de imagenes, quiero lograr algo parecido a esto:

Fotoscopio - Imagenes Latinoamericanas

bueno lo que yo tengo hecho hasta ahora, es re basico , pero queria probar solamente el tema de la paginacion y al momento de mostrar la imagen:

http://www.padawan.bblogg.com.ar/ban...osMejorado.php

Les comento como lo hice mas o menos, todas las imagenes estan cargadas en el servidor, los datos los trae de una base de datos en mysql y en el campo donde iria la foto va el nombre de la imagen y para mostrarla la levanta de disco.

Ahora bien , las fotos que se cargan se cargan en tamaños mucho mayores, pero mediante la libreria GD de php manipulo las imagenes y las achico proporcionalmente a unos limites que defino yo, pero el problema de achicar las imagenes como thundbails es que pierde mucha calidad la imagen, y deberia quedar como en el sitio anterior que tomo de ejemplo, en donde la calidad de las imagenes chicas es excelente, todas las imagenes que cargue son jpg de buena calidad y de mayor tamaño a 640x480 con lo cual al achicarlas proporcionalmente deberian verse bien , pero no es asi, voy a postear el codigo que hice para crear los thundbails:

Código PHP:
<?php 

$ruta 
"fotos/".$_GET['ruta'];
$nuevo_ancho $_GET['ancho'];
$nuevo_alto $_GET['alto'];

$fuente = @imagecreatefromjpeg($ruta);
$imagen imagecreatetruecolor($ancho,$alto); //Con esta linea mejoro la calidad de la imagen
$imgAncho imagesx ($fuente);
$imgAlto =imagesy($fuente);



//Determino las nuevas medidas en función de los límites
if($imgAncho $nuevo_ancho OR $imgAlto $nuevo_alto)
{
    if((
$imgAlto $nuevo_alto) > ($imgAncho $nuevo_ancho))
    {
        
$nuevo_ancho round($imgAncho $nuevo_alto $imgAlto,0) ;       
    }
    else
    {
        
$nuevo_alto round($imgAlto $nuevo_ancho $imgAncho,0);   
    }
}
else 
//si la imagen es más pequeña que los límites la dejo igual.
{
    
$nuevo_alto $imgAlto;
    
$nuevo_ancho $imgAncho;
}



imagecopyresized($imagen,$fuente,0,0,0,0,$nuevo_ancho,$nuevo_alto,$imgAncho,$imgAlto);

header("Content-type: image/jpeg");
imagejpeg($imagen);
imagedestroy($imagen);

?>
En el listado de imagenes cuando quiero mostrar la imagen hago lo siquiente:

Código HTML:
<img src="VerImagen.php?ruta=<? echo   fotos_datos['Fotografia']?>&alto=100&ancho=100" /> 
Bueno con eso funciona perfecto, pero el problema que tengo es de calidad de la imagen.

Bueno el segundo e importante problema que tengo es que cuando la imagen se achica proporcionalmente y quedan margenes a los costados dependiendo si la imagen tiene un sentido horizontal o vertical aparecen margenes de color negro rellenando el cuadrado en donde esta inserta la imagen, esto queda muy feo y no se cual es la opcion o parametro en la libreria GD para hacerlo transparente.
ademas de querer centrar las imagenes tambien como esta hecho en la pagina que tomo de ejemplo.

Espero me puedan ayudar con esto, ya que hasta aqui llego mi sabiduria je.