private BufferedImage canvasToBufferedImage(Canvas sp) { int w = sp.getWidth(); int h = sp.getHeight(); int type = BufferedImage.TYPE_INT_RGB; BufferedImage image = new BufferedImage(w,h,type); Graphics2D g2 = image.createGraphics(); sp.paint(g2); g2.dispose(); return image; }