BufferedImage gross = ImageIO.read(new File("gross.jpg"));
BufferedImage klein = ImageIO.read(new File("klein.jpg"));
Graphics g = gross.createGraphics();
g.drawImage(klein, x,y, null); // x,y = Position wo das kleine hin soll
g.dispose();
ImageIO.write(gross, "jpg", new File("grossMitKlein.jpg"));
BufferedImage imageBig = ImageIO.read(new File("big.jpg")); //lade großes bild
Graphics g = imageBig.createGraphics();
BufferedImage imageSmall = ImageIO.read(new File("small.jpg")); //lade kleines bild
//linkere untere ecke
int x = imageBig.getWidth() - imageSmall.getWidth();
int y = imageBig.getHeight() - imageSmall.getHeight();
g.drawImage(imageSmall, x, y, null); //male kleineres bild in linkere untere ecke vom größeren bild
g.dispose();
ImageIO.write(imageBig, "jpg", new File("result.jpg")); //schreibe das ergebnis in eine neue datei