You can draw on a buffered image, so make an empty bufferedImage , create a graphic context from it and draw your original image on it.
BufferedImage copyOfImage = new BufferedImage(widthOfImage, heightOfImage, BufferedImage.TYPE_INT_RGB); Graphics g = copyOfImage.createGraphics(); g.drawImage(originalImage, 0, 0, null);
source share