Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/01/2010, 09:26
SoCu
 
Fecha de Ingreso: octubre-2008
Mensajes: 38
Antigüedad: 15 años, 6 meses
Puntos: 0
Redimensionado de imagenes externas

Hola Hola, os agradecería que me pudieseis ayuda con este código, estoy intentando redimensionar una imagen externa en la Web, y navegando en busca algún código que me permita hacer esto, encontré el siguiente pero me hace todo los contrario de lo que quiero, la imagen la agranda en lugar de hacerla mas pequeña que es lo que intento.

Código PHP:

<?
# indicar la ruta de la imagen
$original="http://www.web.com/images/caballos.jpg";
for(
$i=strlen($original)-1;$i>0;$i--){
if (
substr($original,$i,1)=="."){
$tipo=substr($original,$i+1);
break;
}
}
# dimesiones del original
$tamano=getimagesize($original);
$orig_Ancho $tamano[0];
$orig_Alto =$tamano[1];
# factores de ampliación, distintos para provocar una distorsión
# en la imagen resultante
$ampliacion_X=2;
$ampliacion_Y=1.5;
# dimesiones de la imagen resultante. Vamos a dejarla a sangre
# (sin márgenes en blanco) y vamos a reproducir el original
# sin reencuadrar así que las esquinas superiores izquierdas de
# ambas imágenes estarán en 0,0.
$resultado_Ancho=$orig_Ancho*$ampliacion_X;
$resultado_Alto$orig_Alto*$ampliacion_Y;
#creamos una imagen a partir de la original. Debemos elegir
#la funcion adecuada al tipo de imagen original
switch($tipo){
case 
"jpg":
$importada=imagecreatefromjpeg($original);
break;
case 
"png":
$importada=imagecreatefrompng($original);
break;
case 
"gif":
$importada=imagecreatefromgif($original);
break;
}
# insertamos la cabecera de la nueva imagen
Header("Content-type:image/jpeg");
#creamos una imagen nueva en color verdadero
$im_base=imagecreatetruecolor($resultado_Ancho,$resultado_Alto);
#aplicamos un color de fondo a la nueva imagen
#para poder visualizar que incluye la transparencia del png o del gif
if($tipo=="png" OR $tipo=="gif"){
$fondo=imagecolorAllocate($im_base,255,255,200);
imagefill($im_base,0,0,$fondo);
}
#superponemos la imagen importada sobre la que acabamos de crear
imagecopyresampled($im_base,$importada,0,0,0,0,
$resultado_Ancho$resultado_Alto,
$orig_Ancho,$orig_Alto);
# visualizamos la imagen resultante
imagejpeg($im_base);
ImageDestroy();
?>

Que es lo que tengo que cambiar en ese código, o que valores tengo que poner para que la imagen que muestre sea mas pequeña o del tamaño que yo le de la original ?


Gracias anticipadas.