Foros del Web » Creando para Internet » Diseño web »

¿Cómo hago funcionar este código?

Estas en el tema de ¿Cómo hago funcionar este código? en el foro de Diseño web en Foros del Web. Hola a todos: He encontrado en la web una función para redimensionar imágenes en jpg, png y gif. Mi problema es que sé muy poco ...
  #1 (permalink)  
Antiguo 24/01/2010, 14:57
 
Fecha de Ingreso: enero-2010
Mensajes: 25
Antigüedad: 7 años, 10 meses
Puntos: 0
¿Cómo hago funcionar este código?

Hola a todos:
He encontrado en la web una función para redimensionar imágenes en jpg, png y gif. Mi problema es que sé muy poco php y me hago un lío.
¿Donde tengo que colocar este código? y una vez colocado ¿como lo llamo para que funcione?
Es decir, si tengo una imagen que se llama logotipo1.png en la carpeta logotipo, ¿Cómo consigo que funcione el código?
Gracias a todos y saludos
  #2 (permalink)  
Antiguo 24/01/2010, 14:59
 
Fecha de Ingreso: enero-2010
Mensajes: 25
Antigüedad: 7 años, 10 meses
Puntos: 0
Respuesta: ¿Cómo hago funcionar este código?

Perdón, se me olvidó incluir el código:
<?
function redimensionar_imagen($imagen, $nombre_imagen_asociada)
{
//indicamos el directorio donde se van a colgar las imágenes

$directorio = 'logotipo/' ;
//establecemos los límites de ancho y alto


$nuevo_ancho = 600 ;
$nuevo_alto = 600 ;

//Recojo información de la imágen

$info_imagen = getimagesize($imagen);
$alto = $info_imagen[1];
$ancho = $info_imagen[0];
$tipo_imagen = $info_imagen[2];

//Determino las nuevas medidas en función de los límites

if($ancho > $nuevo_ancho OR $alto > $nuevo_alto)
{
if(($alto - $nuevo_alto) > ($ancho - $nuevo_ancho))
{
$nuevo_ancho = round($ancho * $nuevo_alto / $alto,0) ;
}
else
{
$nuevo_alto = round($alto * $nuevo_ancho / $ancho,0);
}
}
else //si la imagen es más pequeña que los límites la dejo igual.
{
$nuevo_alto = $alto;
$nuevo_ancho = $ancho;
}

// dependiendo del tipo de imagen tengo que usar diferentes funciones

switch ($tipo_imagen) {
case 1: //si es gif …
$imagen_nueva = imagecreate($nuevo_ancho, $nuevo_alto);
$imagen_vieja = imagecreatefromgif($imagen);
//cambio de tamaño…
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
if (!imagegif($imagen_nueva, $directorio . $nombre_imagen_asociada)) return false;
break;

case 2: //si es jpeg …

$imagen_nueva = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
$imagen_vieja = imagecreatefromjpeg($imagen);
//cambio de tamaño…
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
if (!imagejpeg($imagen_nueva, $directorio . $nombre_imagen_asociada)) return false;
break;

case 3: //si es png …

$imagen_nueva = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
$imagen_vieja = imagecreatefrompng($imagen);
//cambio de tamaño…

imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
if (!imagepng($imagen_nueva, $directorio . $nombre_imagen_asociada)) return false;
break;
}
return true; //si todo ha ido bien devuelve true


} ;


//indicamos el directorio donde se van a colgar las imágenes

$directorio = './' ;
//establecemos los límites de ancho y alto


$nuevo_ancho = 150 ;
$nuevo_alto = 150 ;

//Recojo información de la imágen

$info_imagen = getimagesize("logotipo/logotipo.png");
$alto = $info_imagen[1];
$ancho = $info_imagen[0];
$tipo_imagen = $info_imagen[2];

//Determino las nuevas medidas en función de los límites

if($ancho > $nuevo_ancho OR $alto > $nuevo_alto)
{
if(($alto - $nuevo_alto) > ($ancho - $nuevo_ancho))
{
$nuevo_ancho = round($ancho * $nuevo_alto / $alto,0) ;
}
else
{
$nuevo_alto = round($alto * $nuevo_ancho / $ancho,0);
}
}
else //si la imagen es más pequeña que los límites la dejo igual.

{
$nuevo_alto = $alto;
$nuevo_ancho = $ancho;
}

// dependiendo del tipo de imagen tengo que usar diferentes funciones
switch ($tipo_imagen) {
case 1: //si es gif …
$imagen_nueva = imagecreate($nuevo_ancho, $nuevo_alto);
$imagen_vieja = imagecreatefromgif($imagen);
//cambio de tamaño…
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
if (!imagegif($imagen_nueva, $directorio . $nombre_imagen_asociada)) return false;
break;

case 2: //si es jpeg …
$imagen_nueva = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
$imagen_vieja = imagecreatefromjpeg($imagen);
//cambio de tamaño…
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
if (!imagejpeg($imagen_nueva, $directorio . $nombre_imagen_asociada)) return false;
break;

case 3: //si es png …
$imagen_nueva = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
$imagen_vieja = imagecreatefrompng($imagen);
//cambio de tamaño…
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
if (!imagepng($imagen_nueva, $directorio . $nombre_imagen_asociada)) return false;
break;
}
return true; //si todo ha ido bien devuelve true
?>
  #3 (permalink)  
Antiguo 24/01/2010, 15:05
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 10 meses
Puntos: 771
Respuesta: ¿Cómo hago funcionar este código?

Mensaje repetido en el foro de PHP.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 12:14.