Foros del Web » Programando para Internet » PHP »

recortar imagen

Estas en el tema de recortar imagen en el foro de PHP en Foros del Web. Hola muchacho(a)s, tengo esta función para redimencionar imagenes. rd.php Código PHP: $anchura =  $_GET [ 'ancho' ];  //768 $hmax =  $_GET [ 'alto' ]; $nombre ...
  #1 (permalink)  
Antiguo 29/03/2016, 12:54
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
recortar imagen

Hola muchacho(a)s, tengo esta función para redimencionar imagenes.

rd.php
Código PHP:
$anchura$_GET['ancho']; //768
$hmax$_GET['alto'];
$nombre=$_GET['archivo'];
$datos getimagesize($nombre);
if ((
$datos[0] <= $anchura) && ($datos[1] <= $hmax))
{
readfile($nombre); 
}
else
{
if(
$datos[2]==1){$img = @imagecreatefromgif($nombre);}
if(
$datos[2]==2){$img = @imagecreatefromjpeg($nombre);}
if(
$datos[2]==3){$img = @imagecreatefrompng($nombre);}
$ratio = ($datos[0] / $anchura);
$altura = ($datos[1] / $ratio);
if(
$altura>$hmax){$anchura2=$hmax*$anchura/$altura;$altura=$hmax;$anchura=$anchura2;}
$thumb imagecreatetruecolor($anchura,$altura);
imagecopyresampled($thumb$img0000$anchura$altura$datos[0], $datos[1]);
if(
$datos[2]==1){header("Content-type: image/gif"); imagegif($thumb);}
if(
$datos[2]==2){header("Content-type: image/jpeg");imagejpeg($thumb);}
if(
$datos[2]==3){header("Content-type: image/png");imagepng($thumb); }
imagedestroy($thumb); 

el cual llamo desde la imagen como:

Código HTML:
<img src="rd.php?archivo=imagen.jpg&amp;ancho=70&amp;alto=52" /> 
El redimencionamiento lo hace de acuerdo o al alto o al ancho, me sirve cuando las imagenes son todas iguales, perfecto pero ya cuando son imagenes largas este no hace el redimencionamiento por el ancho.
Entonces mi pregunta es:

Que debo agregar en mi codigo para que en ves de redimencionar, recorte la imagen y me las deje todas parejas, lo quiero para una galería, Saludos.
__________________
Gokuh Salvo al mundo. PUNTO!!!!

Etiquetas: recortar
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 18:50.