Foros del Web » Programando para Internet » PHP »

Manipulacion con Imagenes

Estas en el tema de Manipulacion con Imagenes en el foro de PHP en Foros del Web. Saludos Amigos foristas, quiero mostrar un catalogo de productos y el cliente cargara las imagenes, tengo un inconveniente al mostrarlas mi diseño de la pagina ...
  #1 (permalink)  
Antiguo 03/12/2008, 08:16
 
Fecha de Ingreso: junio-2008
Mensajes: 74
Antigüedad: 15 años, 10 meses
Puntos: 2
Manipulacion con Imagenes

Saludos Amigos foristas, quiero mostrar un catalogo de productos y el cliente cargara las imagenes, tengo un inconveniente al mostrarlas mi diseño de la pagina tengo un recuadro por ejemplo de 300 x 300, yo utilizo una funcion que me cambia el ancho a 300 y el alto lo calcula esto para que no pierda la resolucion ni la calidad de l a imagen, pero cuando consulto el catalogo hay imagenes verticales y otras que se muestran como yo quiero, HAY ALGUNA FORMA DE ADAPTAR UNA IMAGEN VERTICAL O HORIZONTAL EN UN ALTO Y ANCHO LIMITADO 300X300 SIN QUE PIERDA LA CALIDAD O SE DISTORCIONE? BUENO AMIGOS ESPERO ME PUEDAN AYUDAR GRACIAS. AQUI LES DEJO LA FUNCION QUE TENGO
crearthumb ($directorio,$directorio,300,$foto); // AQUI HAGO EL LLAMADO

//ESTA ES LA FUNCION
function crearthumb ( $pathToImages, $pathToThumbs, $thumbWidth , $fname)
{
// abrimos el directorio
$dir = opendir( $pathToImages );

// bucle en busca de archivos jpg
//while (false !== ($fname = readdir( $dir ))) {
$info = pathinfo($pathToImages . $fname);
// continua unicamente si la imagen es jpg
if ( strtolower($info['extension']) == 'jpg' || strtolower($info['extension']) == 'jpeg') {


// carag y devuelve las medidas de la imagen
$img = imagecreatefromjpeg("{$pathToImages}{$fname}" );
$width = imagesx( $img );
$height = imagesy( $img );

// calcula el tamaño
$new_width = $thumbWidth;
//$new_height=160;
$new_height = floor( $height * ( $thumbWidth / $width ) );

// crea una nueva imagen de manera temporal
$tmp_img = imagecreatetruecolor( $new_width, $new_height );

// copia y dedimensiona la nueva imagen en la temporal que hemos creado
imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );

// guarda el thumbnail en un archivo
imagejpeg( $tmp_img, "{$pathToThumbs}{$fname}" );
}
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 05:51.