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;
    }