Foros del Web » Programación para mayores de 30 ;) » Java »

Cambiar tamaño de una imagen recogida de un formulario

Estas en el tema de Cambiar tamaño de una imagen recogida de un formulario en el foro de Java en Foros del Web. Hola, he buscado por todos lados codigo para hacerlo pero no lo encuentro, se que es algo de la libreria image. Mi problema es que ...
  #1 (permalink)  
Antiguo 22/07/2008, 05:47
 
Fecha de Ingreso: julio-2008
Mensajes: 2
Antigüedad: 15 años, 9 meses
Puntos: 0
Cambiar tamaño de una imagen recogida de un formulario

Hola,

he buscado por todos lados codigo para hacerlo pero no lo encuentro, se que es algo de la libreria image.
Mi problema es que tengo un formulario en jsp que manda 3 imagenes en campos type="file" y una vez las recojo en el servidor con metodos de las librerias contenidas en org.apache.commons.fileupload, me gustaria almacenarlas en dicho servidor con un tamaño unico para todas pero no se como puedo hacerlo.
Si alguien sabe por favor conteste.
Desde ya MUCHAS GRACIAS

Un Saludo. Fran
  #2 (permalink)  
Antiguo 22/07/2008, 14:26
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 10 meses
Puntos: 10
Respuesta: Cambiar tamaño de una imagen recogida de un formulario

Hola, te envio el codigo completo donde puedes modificar el tamaño de una imagen:

ImageIO img=null;
//aqui va el path de la imagen que quieres modificar
BufferedImage bi=img.read(new File("D:\\imagen.jpg"));
int width=bi.getWidth();
int height=bi.getHeight();

int type=(bi.getTransparency()==Transparency.OPAQUE) ? BufferedImage.TYPE_INT_RGB : BufferedImage.TYPE_INT_ARGB;
BufferedImage ret = (BufferedImage)bi;
BufferedImage tmp = new BufferedImage(1024, 800, type);
Graphics2D g2 = tmp.createGraphics();
g2.drawImage(ret, 0, 0, 1024, 800, null);
g2.dispose();

bi = tmp;

BufferedImage image =bi;
//Aqui es el path donde quieres guardar la imagen ya modificada FileOutputStream fos=new FileOutputStream("D:\\img.jpg");
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos);
encoder.encode(image);

Pruebalo y ahi nos avisas

saludos!
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 11:40.