// changes & returns canvas static BufferedImage drawImage(BufferedImage canvas, Image img, Pt p) { ret drawImageOnImage(img, canvas, p.x, p.y); } svoid drawImage(Graphics2D etc g, Image img) { drawImage(g, img, 0, 0); } svoid drawImage(Graphics2D g, Image img, Pt p) { drawImage(g, img, p.x, p.y); } svoid drawImage(Graphics2D g, Image img, int x, int y) { g?.drawImage(img, x, y, null); }