Mi problema es que estoy probando unos script para redimensionar imágenes, pero la de gran tamaño, cogidas de la cámara -pesan más de 5 Mg-, no puede con ellas.
Hay algún medio de tratar estas imagenes.
Gracias
| |||
Imagenes de gran tamaño Mi problema es que estoy probando unos script para redimensionar imágenes, pero la de gran tamaño, cogidas de la cámara -pesan más de 5 Mg-, no puede con ellas. Hay algún medio de tratar estas imagenes. Gracias |
| |||
Re: Imagenes de gran tamaño Cita: Gracias por contestar, mañana lo subo, ahora no lo tengo a mano.No me da ningún error, no hace nada, es decir, no sube la imagen. |
| |||
Re: Imagenes de gran tamaño Cita: Este es el código. Quiero que me cambie la imagen a 500 x 375 y la suba a la carpera 'obras' (cosa que realiza, pero no con las fotos de un peso de 5 Mg.)<?php function redimensionar_imagen($imagen, $nombre_imagen_asociada) { //indicamos el directorio donde se van a colgar las imágenes $directorio = 'obras/' ; //establecemos los límites de ancho y alto $nuevo_ancho = 500 ; $nuevo_alto = 375 ; //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 } ?> <!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> <title>Imagen a Blob</title> <body> <form name="frmimage" id="frmimage" method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>"> <input type="file" id="foto" name="foto" size="40" /> <input type="submit" name="enviar" id="enviar" value="Insertar obra" /> </form> </body> </html> <?php // Verificamos que el formulario no ha sido enviado aun $postback = (isset($_POST["enviar"])) ? true : false; if($postback){ // Nivel de errores error_reporting(E_ALL); $arcfoto = $_FILES["foto"]["name"]; // Escalar imagen grande redimensionar_imagen($foto, $arcfoto); } ?> |
| |||
Re: Imagenes de gran tamaño Cita: Gracias por las sugerencias.- la carpeta obras sí tiene permisos, ya que me sube sin problemas los demás archivos. - voy a quitar la línea que me indicas - el de comprobar si está limitada la capidad de los archivos (por el tamaño), no lo tengo muy claro como hacerlo. Tengo PHP5. Lo debo mirar en el .ini ? |
| ||||
Re: Imagenes de gran tamaño Asi es en el .ini hay una directiva que dice upload_max_size, esta es la que tienes que verificar. Saludos. |
| |||
Re: Imagenes de gran tamaño Buenas, Estoy leyendo esto y por lo que veo lo que hacen es solamente cambiar las dimensiones que se muestran al usuario verdad? El archivo se muestra mas pequeño de lo que es (digamos 550 * 100 px) pero en realidad sigue pesando 5500 * 1000. Tengo una duda sobre como cambiar la resolución real... si alguien sabe sobre el tema agradecería su ayuda forosdelweb.com ? showthread.php?p=2031039#post2031039 Gracias |