hola silverfox gracias por tu ayuda
la verdad intente hacerlo como decias despues de guardar la foto en una variable tipo image
le di
Image img = img.getScaledInstance(200,150,0);
pero me produce un error al pasar la imagen a un archivo para ser guardada
Hola.
Después de haber visto tu código, lo que yo haría sería capturar la fotografía de forma normal, tal y como lo haces ahora. Pero después de capturar y transformar en Image, usar el método 'Image getScaledInstance(int width, int height, int hints)' de la clase java.awt.Image para bajar la resolución.
Otra opción que tienes, que no sé si sería factible para tu programa es cambiar la compresión y/o el formato de las fotos.
Con ambos métodos, te diría que muestres por pantalla la fotografía 'retocada' que se va a guardar, porque puede que alguien no esté de acuerdo en lo que vas a guardar (frases como 'mi cámara hace mejores fotos que eso' y similares) y se empeñe en repetir la foto 50 veces hasta que le guste el resultado.
Espero que te sirva.
Ya nos contarás.
Silverfox