// changes & returns canvas static BufferedImage drawImageOnImage(BufferedImage img, BufferedImage canvas, int x, int y) { Graphics2D g = createGraphics(canvas); g.drawImage(img, x, y, null); g.dispose(); ret canvas; }