Foros del Web » Programando para Internet » PHP »

Redimensionar imagen

Estas en el tema de Redimensionar imagen en el foro de PHP en Foros del Web. Hola mira quiero redimensionar una imgen, y guardarla con ese tamañp, copie una función y la adapte a mi necesidad, resulta q si la funcion ...
  #1 (permalink)  
Antiguo 25/09/2008, 11:37
 
Fecha de Ingreso: agosto-2008
Mensajes: 30
Antigüedad: 15 años, 8 meses
Puntos: 0
Redimensionar imagen

Hola mira quiero redimensionar una imgen, y guardarla con ese tamañp, copie una función y la adapte a mi necesidad, resulta q si la funcion sale bien me envia un cartel de redimensiono, la cosa es q me sale ese cartel despues de una gran cantidad de simbolos, luego de esto se supone q se debe mostrar la imagen redimensionada, pero nada sigue como esta.Este es el codigo.

/***********************************/
<?
function iPintaImagenRedimensionada ($sDirImagen, $bEscalable, $ancho, $alto)

{
// Cogemos los datos de la imagen
$vDatosImg = @getimagesize($sDirImagen);
// if (!$vDatosImg) return -8;
// Recogemos el Tipo Mime
if(isset($vDatosImg['mime']))
$sTipo = $vDatosImg['mime'];
else if(isset($vDatosImg[2]))
$sTipo = @image_type_to_mime_type($vDatosImg[2]);

// Recogemos la imagen a partir de la dirección dada ($sDirImagen)
switch($vDatosImg[2])
{
case IMAGETYPE_GIF:
$imgOrigen = @imagecreatefromgif($sDirImagen);
break;
case IMAGETYPE_JPEG:
$imgOrigen = @imagecreatefromjpeg($sDirImagen);
break;
case IMAGETYPE_PNG:
$imgOrigen = imagecreatefrompng($sDirImagen);
break;
}

/*
Establecemos los tamaños:
- Si bEscalable viene como true.
Se multiplican los valores recibidos para ancho y alto
por el ancho y alto de la imagen,
así 0.5 sería la mitad de la imagen y 2 sería el doble
- Si bEscalable viene como false.
Los tamaños serán los pasados por ancho y alto directamente
- Si ancho o alto vienen como 0 o numero negativo,
el valor de esta propiedad será asignada proporcionalmente con
el valor de la otra.
- Si ancho y alto vienen como 0 o numero negativo, Error
*/

if (!(is_numeric($ancho)) || !(is_numeric($alto))) return -20;

if ($bEscalable==true)
{
if ($ancho > 0)
{
$ancho *= $vDatosImg[0];
if ($alto > 0)
$alto *= $vDatosImg[1];
else
$alto = $vDatosImg[1] * ($ancho / $vDatosImg[0]);
}
else
if ($alto > 0)
{
$alto *= $vDatosImg[1];
$ancho = $vDatosImg[0] * ($alto / $vDatosImg[1]);
}
/* else
{
// error return -21;
}*/
}
else
{
if (($ancho > 0) && ($alto < 1))
$alto = $vDatosImg[1] * ($ancho / $vDatosImg[0]);
else
if (($alto > 0) && ($ancho < 1))
$ancho = $vDatosImg[0] * ($alto / $vDatosImg[1]);
// else //if (($alto < 1) && ($ancho < 1))
// error return -21;
}

// Se crea la nueva imagen redimensionada
if (@function_exists("ImageCreateTrueColor"))
$imgDestino = @imagecreatetruecolor($ancho,$alto);
else
$imgDestino = @imagecreate($ancho,$alto);

@imagecopyresized ($imgDestino, $imgOrigen, 0, 0, 0, 0, $ancho, $alto, $vDatosImg[0], $vDatosImg[1]);

switch($vDatosImg[2])
{
case IMAGETYPE_GIF:
@imagegif($imgDestino);
break;
case IMAGETYPE_JPEG:
@imagejpeg($imgDestino);
break;
case IMAGETYPE_PNG:
@imagepng($imgDestino);
break;

}

@imagedestroy($imgOrigen);
@imagedestroy($imgDestino);

return 1;

}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>
<body>

<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="">
<label>
<input type="file" name="imagen" />
</label>
<label></label>
<input type="submit" name="submit" value="Guardar " />
<?php
include("funcionesenphp/funcion_imagen.php");
if(isset($submit)){
// is_uploaded_file indica si un archivo fue cargado a través de HTTP POST.$_FILES para leer los datos del archivo que se está subiendo al servidor.
if (is_uploaded_file($_FILES['imagen']['tmp_name'])) {
//revisar que sea jpg
if ($_FILES['imagen']['type'] == "image/jpeg" || $_FILES['imagen']['type'] == "image/pjpeg" || $_FILES['imagen']['type'] == "image/gif")
{
/*Inserto el nombre dentro de la Base de datos*/
/*=======================================*/
$nuevoNombre =time().".jpg";
$links=mysql_connect('localhost','root','') or die('<b>Error conectando al servidor MySQL:</b><br />'.mysql_error());
mysql_select_db("bd",$links) or die('<b>Error seleccionando la base de datos:</b><br />'.mysql_error());
$ruta="imagen/".$nuevoNombre;
$sql="INSERT INTO imagen(ruta_imagen) VALUES ('$ruta')";
$result=mysql_query($sql,$links);
if ($result)
{ echo 'Todo bien';
//nuevo nombre para la imagen
//include("funcionesenphp/funcion_imagen.php");
// resizeImg($i,$ruta,100,100);
//mover la imagen a carpeta indicada
move_uploaded_file($_FILES['imagen']['tmp_name'],$ruta);
if(iPintaImagenRedimensionada ($ruta,false,600,655)==1){echo " REDIMENSIONO";}


echo "<img src='imagen/$nuevoNombre'> <br> imagen $nuevoNombre subida con éxito";
}
else { echo 'Error al intentar ejecutar el comando:';}
mysql_close();
/*===============================================*/
//mensaje de éxito
}else
{
echo "Formato no válido para fichero de imagen";
}
}
else
{
echo "Error al cargar imagen: " . $_FILES['imagen']['name'];
}
}

?>
</form>

</body>
</html>
7***********************/
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 13:39.