Foros del Web » Programando para Internet » PHP »

modificar el tamaño de la imagen

Estas en el tema de modificar el tamaño de la imagen en el foro de PHP en Foros del Web. hola muy buenas estoy creando un formulario para subir una imagen al servidor pero antes de subirla necesito que el usuario pueda modificar el tamaño ...
  #1 (permalink)  
Antiguo 09/02/2012, 04:06
 
Fecha de Ingreso: agosto-2011
Ubicación: barcelona
Mensajes: 237
Antigüedad: 12 años, 8 meses
Puntos: 1
modificar el tamaño de la imagen

hola muy buenas estoy creando un formulario para subir una imagen al servidor pero antes de subirla necesito que el usuario pueda modificar el tamaño de la imagen y si fuese posible recortarla o variar su posición,

tengo un script que me carga una imagen y me gustaría que después con algún campo de formulario el usuario pudiera cambiar el tamaño y verla antes de subirla al servidor

Código PHP:
Ver original
  1. <?php
  2.     $carpeta="tmp/";  //indicamos la carpeta donde se guardará la vista previa
  3.     $name=$carpeta.basename($_FILES['archivo']['name']); //armamos la ruta del archivo subido en formato "tmp/nombredearchivo.png"
  4.  
  5. move_uploaded_file($_FILES['archivo']['tmp_name'],$name);//guardamos el archivo en la carpeta
  6.  
  7.  
  8.  
  9.  
  10. ?>
  11.    
  12.  
  13. <script type="text/javascript">
  14. parent.document.getElementById('picture').src='<?php echo $name; ?>';<!-- Le decimos mediante javascript que, busque el id "picture" (campo que tiene la imagen "avatar" y en su lugar muestre lo que acabamos de subir -->
  15. </script>



aqui el form

Código HTML:
Ver original
  1. <script type="text/javascript">
  2.     function setpreview()<!-- creamos la función -->
  3.     {
  4.       document.form1.target='null';  <!-- seteamos el target del formulario en null para que se ejecute dentro del iframe llamado "null"-->
  5.       document.form1.action='uploader.php';<!-- seteamos la acción del formulario hacia nuestro archivo "uploader.php" -->
  6.       document.form1.submit(); <!-- hacemos el envío de información sin salir de la pantalla del formulario -->
  7.     }
  8.  
  9.     function setsubmit()<!-- Creamos la función para que el action del formulario vuelva a ser el archivo que procesa los datos -->
  10.     {
  11.       document.form1.target='_self';<!-- le decimos que se ejecute en el lugar de la página actual -->
  12.       document.form1.action='archivo_que_procesa_tu_form';  <!-- aquí ponemos redefinimos el action del formulario para que se dirija al archivo que ejecuta los datos del form -->
  13.       document.form1.submit();  <!-- enviamos la información -->
  14.     }
  15.    
  16.  
  17. <form name="form1" action=" " method="post" enctype="multipart/form-data"><!-- El nombre del formulario es el mismo al que llamamos en la funcion javascript, en "action" ponemos el archivo donde irá el formulario una vez completado. No te olvides del "enctype" fundamental para subir archivos -->
  18. <div>Personalizar tu imagen en tamaño y lo que puedas jejeje: </div><!-- este div es solo para poner una leyenda, no es necesario para que funcione bien el script -->
  19. <div><input name="archivo" id="archivo" type="file" size="35" onChange="setpreview()"/></div><!-- campo de archivo donde seleccionamos la imagen de nuestra pc. Aquí le decimos que cuando nuestro campo cambia (onChange) ejecute el código del javascript sin esperar a apretar el boton "submit" del formulario-->
  20. <div><img src="file:avatar.png" id="picture" alt="vista previa" height="300" width="300"/> </div><!-- En este div mostraremos, inicialmente la imagen "avatar.png" pero que, al seleccionar un nuevo archivo en el campo anterior-->
  21. <div style="text-align:center;"><input type="submit" value="Crear Usuario" onclick="setsubmit()"/></div><!--Cuando presionamos el botón llamamos a la función que devuelve el destino original del action hacia el archivo que procesa los datos del formulario -->
  22. </form>
  23. <iframe src="about:blank" name="null" style="display:none">   <!--Escribimos el iframe donde se ejecutará "uploader.php" esto es lo que nos permite ver el preview sin actualizar la página del script.-->

una manita porfa
  #2 (permalink)  
Antiguo 09/02/2012, 04:34
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 16 años, 7 meses
Puntos: 21
Respuesta: modificar el tamaño de la imagen

Hola,

siento mucho decirte que no es posible editar una imagen sin subirla primero. El proceso que indicas es posible, pero en este orden:

1.- Subes la imagen al servidor
2.- Muestras la imagen con las opciones necesarias
3.- Generas una imagen nueva con las opciones indicadas por el usuario
4.- Eliminas la imagen original subida al servidor

Para tratar imágenes tienes la librería GD de php, pero esta solo funciona con imágenes ya subidas al servidor. http://es.php.net/manual/es/book.image.php

Para recortar la imagen puedes utilizar herramientas ya preparadas con jquery.
http://craftyman.net/jcrop-image-cro...-jquery-y-php/
__________________
----
http://www.mascodigo.com
  #3 (permalink)  
Antiguo 09/02/2012, 05:44
 
Fecha de Ingreso: agosto-2011
Ubicación: barcelona
Mensajes: 237
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: modificar el tamaño de la imagen

gracias nx00 no conocerás algún manual o script para hacerlo
  #4 (permalink)  
Antiguo 09/02/2012, 05:58
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 16 años, 7 meses
Puntos: 21
Respuesta: modificar el tamaño de la imagen

De nada, esto podrá ayudarte:
http://www.elwebmaster.com/articulos...n-php-y-jquery
__________________
----
http://www.mascodigo.com

Etiquetas: formulario, modificar, tamaño, usuarios
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 19:36.