Tip to store Image as JPEG. There are different ways possible to do this. There are some packages beyond standard Java (JAI,etc) that could be useful. Here is one simple example using basic Java. See http://download.oracle.com/javase/tutorial/2d/images/saveimage.html for more details and examples of other file formats. STEP 1) Uses PixelGrabber (from import java.awt.image.PixelGrabber) to get pixels from an insances of Image (img) that has the data rows = img.getHeight(this); cols = img.getWidth(this); int pixels[] = new int[rows*cols]; PixelGrabber pg = new PixelGrabber(img, 0,0, cols, rows, pixels, 0, rows); try{ pg.grabPixels();} catch(InterruptedException e) { System.err.println("interrupted waiting for pixels!"); } STEP 2) Create a BufferedImage object (from import java.awt.image.BufferedImage) using the pixels we got in step 1 BufferedImage bimg = new BufferedImage(cols,rows,BufferedImage.TYPE_INT_RGB); bimg.setRGB(0,0,cols,rows,pixels,0,cols); STEP 3) Using ImageIO class from javax.imageio.ImageIO call static function that writes out an image as JPEG using instance of FileOutputStream FileOutputStream fos = new FileOutputStream(filename); ImageIO.write(bimg,"jpg",fos); fos.close();