![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
17/12/2008, 15:42
|
![Avatar de kimmy](http://static.forosdelweb.com/customavatars/avatar250316_1.gif) | | | Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 16 años, 6 meses Puntos: 15 | |
Respuesta: Redimensionar y guardar Ahora lo hice así:
<?
$conexion = db_connect();
if (!$conexion)
return 0;
$archivo = explode('.', stripslashes($_FILES['foto']['name']));
unset($archivo[count($archivo)-1]);
$archivo = implode('.', $archivo);
$tamano=getimagesize($archivo);
$orig_Ancho = $tamano[0];
$orig_Alto =$tamano[1];
# estableceremos un margen en blanco alrededor de la imagen de 5 pixels
# igual por los cuatro lados
$margen=10;
# establecemos rocortes para reencuadrar la imagen
$recorte_izq=50;
$recorte_sup=80;
$recorte_der=40;
$recorte_inf=60;
# calculamos las dimensiones para utilizar como parámetros
# en la funcion imagecopyresampled
# ancho y alto original recortado
$Ancho_recortado=$orig_Ancho-$recorte_izq-$recorte_der;
$Alto_recortado=$orig_Alto-$recorte_sup-$recorte_inf;
# factores de ampliación en este caso iguales
# sin distorsión de imagen
$ampliacion_X=1;
$ampliacion_Y=1;
# dimensiones del soporte
$papel_Ancho=$Ancho_recortado*$ampliacion_X+ 2*$margen;
$papel_Alto=$Alto_recortado*$ampliacion_Y+2*$marge n;
# dimensiones de la mancha de imagen al positivar
# hay que quitar los márgenes
$resultado_Ancho=$papel_Ancho -2*$margen;
$resultado_Alto=$papel_Alto -2*$margen;
switch($tipo){
case "jpg":
$importada=imagecreatefromjpeg($original);
break;
case "png":
$importada=imagecreatefrompng($original);
break;
case "gif":
$importada=imagecreatefromgif($original);
break;
}
Header("Content-type:image/jpeg");
$im_base=imagecreatetruecolor($papel_Ancho,$papel_ Alto);
$fondo=imagecolorAllocate($im_base,255,255,200);
imagefill($im_base,0,0,$fondo);
imagecopyresampled($im_base,$importada,$margen,$ma rgen,
$recorte_izq,$recorte_sup,
$resultado_Ancho,$resultado_Alto,
$Ancho_recortado,$Alto_recortado);
imagejpeg($im_base);
ImageDestroy();
//Insercion de los datos, ojo la imagen se graba con su nombre original en la tabla (es un campo varchar)
$sql_ins = "INSERT INTO cosas (fecha, id, nombre, description, ave) " .
"VALUES ('$fecha', '$id', '$nombre', '$descripcion', '$archivo')";
$res = mysql_query($sql_ins) or die ( "Error MySQL dice: " . mysql_error() );
$nuevo_nombre = $_FILES['foto']['name'];
move_uploaded_file($_FILES['foto']['tmp_name'], "images/$nuevo_nombre");
?>
Y me arroja estos errores:
Warning: getimagesize(BARBIE) [function.getimagesize]: failed to open stream: No such file or directory in C:\AppServ\www\phpMyAdmin\probar\subir.php on line 32
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\phpMyAdmin\probar\subir.php :32) in C:\AppServ\www\phpMyAdmin\probar\subir.php on line 75
Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in C:\AppServ\www\phpMyAdmin\probar\subir.php on line 76
Warning: imagecolorallocate(): supplied argument is not a valid Image resource in C:\AppServ\www\phpMyAdmin\probar\subir.php on line 77
Warning: imagefill(): supplied argument is not a valid Image resource in C:\AppServ\www\phpMyAdmin\probar\subir.php on line 78
Warning: imagecopyresampled(): supplied argument is not a valid Image resource in C:\AppServ\www\phpMyAdmin\probar\subir.php on line 82
Warning: imagejpeg(): supplied argument is not a valid Image resource in C:\AppServ\www\phpMyAdmin\probar\subir.php on line 83
Warning: Wrong parameter count for imagedestroy() in C:\AppServ\www\phpMyAdmin\probar\subir.php on line 84 |