Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/02/2006, 08:16
Avatar de hanscruz
hanscruz
 
Fecha de Ingreso: junio-2005
Mensajes: 278
Antigüedad: 18 años, 9 meses
Puntos: 0
Ayuda sobre un thumbail por favor

Primero que nada quiero decirles que soy nuevito en esto de programar en PHP ya que siempre lo hice en ASP, pero la necesidad me esta obligando a imigrar.
Primero decirles que ya me lei un tutorial de php muy bueno que encontre en las faqs que se llama las memorias de un programador en php muy bueno en verdad, pero como no tengo mucho tiempo quiero ir al grano.

Encontre una funcion para hacer un thumbail de una imagen JPG el clasico, pequeña imagen de una grande para hacer una galeria fotografica, el codigo es este:

Código PHP:
<?php BEGIN__VBULLETIN__CODE__SNIPPET function thumbjpeg($imagen,$altura) {
     
// Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande".
     
$dir_thumb "thumbs/";
     
// Prefijo que se añadirá al nombre del thumbnail. Ejemplo: si la imagen grande fuera "imagen1.jpg",
     // el thumbnail se llamaría "tn_imagen1.jpg"
     
$prefijo_thumb "tn_";

     
// Aquí tendremos el nombre de la imagen.
     
$nombre=basename($imagen);
     
// Aquí la ruta especificada para buscar la imagen.
     
$camino=dirname($imagen)."/";

     
// Intentamos crear el directorio de thumbnails, si no existiera previamente.
     
if (!file_exists($camino.$dir_thumb))
          @
mkdir ($camino.$dir_thumb0777) or die("No se ha podido crear el directorio ".$camino.$dir_thumb);

     
// Aquí comprovamos que la imagen que queremos crear no exista previamente
     
if (!file_exists($camino.$dir_thumb.$prefijo_thumb.$nombre)) {
          echo 
$camino.$dir_thumb.$prefijo_thumb.$nombre." NO existía<br>\n";
          
$img = @imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n");

          
// miramos el tamaño de la imagen original...
          
$datos getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>\n");

          
// intentamos escalar la imagen original a la medida que nos interesa
          
$ratio = ($datos[1] / $altura);
          
$anchura round($datos[0] / $ratio);

          
// esta será la nueva imagen reescalada
          
$thumb imagecreatetruecolor($anchura,$altura);

          
// con esta función la reescalamos
          
imagecopyresampled ($thumb$img0000$anchura$altura$datos[0], $datos[1]);

          
// voilà la salvamos con el nombre y en el lugar que nos interesa.
          
imagejpeg($thumb,$camino.$dir_thumb.$prefijo_thumb.$nombre);
     }
}
Bien me funciona perfecto pero lo que necesito es cambiar la imagen en base a la anchura no a la altura y en ves de aunmentar el prefijo al inicio necesito aunmentarlo al final, antes del .jpg
Como ya os he dicho no recien ayer empeze con esto del php y talves sea muy sencillo lo que pido pero no se como hacerlo.
Espero sus respuestas

Saludos
__________________
:policia: