Код
int nw = image1.getWidth() + image2.getWidth();
int nh = Math.max(image1.getHeight(), image2.getHeight());
BufferedImage result = new BufferedImage(nw, nh, BufferedImage.TYPE_INT_RGBA);
Graphics g = result.getGraphics();
g.drawImage(image1, 0, 0, null);
g.drawImage(image2, image1.getWidth(), 0, null);
g.dispose();
try {
ImageIO.write(image, "png", new File("resultImage.png"));
} catch (Exception e) {}
Этот код в новом изображении нарисует плиткой два других изображения и сохранит его.