Foros del Web » Programando para Internet » PHP »

thumnail como en windows

Estas en el tema de thumnail como en windows en el foro de PHP en Foros del Web. Hola amigos tengo una carpeta donde hay varias imagenes de distintos tamaños en pixeles este es mi escript ******el listado.php******* <html> <head> <title>Documento sin t&iacute;tulo</title> ...
  #1 (permalink)  
Antiguo 21/04/2006, 13:21
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 14 años, 4 meses
Puntos: 21
thumnail como en windows

Hola amigos tengo una carpeta donde hay varias imagenes de distintos tamaños en pixeles
este es mi escript

******el listado.php*******
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<?php
//var_dump(gd_info());
/*
Nota loka: para poder usar el comando
mime_content_type en windows
hay que hacer lo siguiente...

1.-buscar la ruta del archivo magic.mime
que se encuentra en C:\php\extras\

2.-habilitar la extencion
extension=php_mime_magic.dll
en tu php.ini

3.-agregar estas lineas al php.ini
al final del archivo php.ini

[mime_magic]
mime_magic.debug = On
mime_magic.magicfile = "C:\php\extras\magic.mime"

*/


//arreglo de extensiones permitidas
//$arr_exts=array("jpg","gif","png");


//definimos el path de acceso
$path = "Imagenes/";

//abrimos el directorio
$dir = opendir($path);

//Mostramos las informaciones
while($elemento=readdir($dir))
{
//$ext=substr($elemento,-3);

//tipo de archivo
$tipo=mime_content_type($path.$elemento);
$validar=explode('/',$tipo);//imagen/formato

if(($elemento!='.')&&($elemento!='..')&&($validar[0]=='image'))
{
//echo '<img src="imagen.php?ruta='.$path.$elemento.'&ancho=200 &alto=150"><br>'.$elemento."<br>";
echo '<img src="generar.php?ruta='.$path.$elemento.'&ancho=10 7&alto=105"><br>'.$path.$elemento."<br>";
echo "tipo: ".$tipo."<br>";
}
}

//Cerramos el directorio
closedir($dir);


?>
</body>
</html>

***********generador.php********
<?
//$file="Imagenes/ferrari3602.jpg";
$file=$_GET['ruta'];
$ancho=$_GET['ancho'];
$alto=$_GET['alto'];

$image = ImageCreateFromJPEG($file);
//echo "paso 1:".$image."<br>";
$width = imagesx($image);
//echo "paso 2:".$width."<br>";
$height = imagesy($image);
//echo "paso 3:".$height."<br>";
$new_width=$ancho; // Tamaño a definir
//echo "paso 4:".$new_width."<br>";

//$new_height = ($new_width * $height) / $width ; // tamaño proporcional
$new_height=$alto;
//echo "paso 5:".$new_height."<br>";

//$thumb = imagecreate($new_width,$new_height);
$thumb = imagecreatetruecolor($new_width, $new_height);
//echo "paso 6:".$thumb."<br>";
imagecopyresized($thumb,$image,0,0,0,0,$new_width, $new_height,$width,$height);
header("Content-type: image/jpeg");
//ImageJPEG($thumb, "thumb".$idpicture.".jpg");
ImageJPEG($thumb);
//imagejpeg($out,'',$calidad);
?>

mi pregunta es como puedo hacer que ese thumnail se pueda crear como en windows que te crea una visualizacion pequeña aun si la imagen es muy pequeña o delgada sin distorsionarla lo que pasa que en la carpeta tengo imagenes de tamaños variados ??

saludos
y gracias
esperos sus comentarios
__________________
gerardo
  #2 (permalink)  
Antiguo 21/04/2006, 14:58
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Aquí en las faq hay varios ejemplos de thumbnail, aqui te dejo uno que respeta el ratio. http://www.forosdelweb.com/showthrea...620#post282620
  #3 (permalink)  
Antiguo 21/04/2006, 15:51
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 14 años, 4 meses
Puntos: 21
De acuerdo gracias cluidiovega

me sirvio mucha ayuda sobre todo para tener buena calidad
en los thumnails lo que si aun no me sale es establecer una miniatura adecuada
en caso de que la imagen sea mas chica que la medida que se desea

saludos
y gracias

espero sus comentarios
__________________
gerardo
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 15:48.