Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/07/2014, 10:24
Avatar de stock
stock
 
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 20 años, 4 meses
Puntos: 53
Respuesta: integrar Jcrop y Jquery file upload para subir y recortar imagen

Yo lo he hecho con jCrop, es bastante sencillo, solo sigue los ejemplos que tienen en su sitio, yo por ejemplo seguí este:

http://deepliquid.com/projects/Jcrop...demo=thumbnail

Primero cree un formulario, que es el que uso para subir la imagen, ahi mismo cree cuatro inputs de tipo hidden, para que almacenen las coordenadas y cuando el usuario haga el submit del formulario pueda obtenerlas en el servidor. Un poco de código:

Código Javascript:
Ver original
  1. //la imagen que voy a redimencionar
  2. var $target = $('#target'),
  3.  
  4. //el TNS de preview
  5. $preview = $('#preview-pane'),
  6. $pcnt = $('#preview-pane .preview-container'),
  7. $pimg = $('#preview-pane .preview-container img'),
  8.  
  9. //Necesito saber el tamaño del preview
  10. oxsize = $('#user_image_width').val(),
  11. oysize = $('#user_image_height').val()
  12. xsize = $pcnt.width(),
  13. ysize = $pcnt.height(),
  14.  
  15. //tomar los inputs de tipo hidden
  16. x1 = $('#user_x1'),
  17. y1 = $('#user_y1'),
  18. width = $('#user_width'),
  19. height = $('#user_height');
  20.  
  21. $target.Jcrop({
  22.       onChange: updatePreview, //<--- este es importante
  23.       //las configuraciones que necesites aquí
  24.     },function(){
  25.       //... revisa los ejemplos del link que te puse para e código de aquí
  26.     });
  27.  
  28. function updatePreview(c){
  29.       if (parseInt(c.w) > 0){
  30.        
  31.         //aquí actualizamos el valor de las coordenadas
  32.         x1.val(Math.round(oxsize*c.x/$target.width()));   //asignamos la coordenada en X
  33.         y1.val(Math.round(oxsize*c.y/$target.width()));
  34.         width.val(Math.round(oxsize*c.w/$target.width()));
  35.         height.val(Math.round(oysize*c.h/$target.height()));
  36.  
  37.  
  38.       }
  39.     };


Con eso es suficiente para guardar las coordenadas y enviarlas al server, ya en el servidor puedes redimencionar la imágen como gustes, yo lo hice con ruby y paperclip, con PHP debe ser fácil también.

Suerte