javax.imageio
и графический API из стандартных библиотек java:File file = new File("C:\\фото_гор.jpg");
BufferedImage image = ImageIO.read(file);
Graphics2D g = image.createGraphics();
g.setColor(Color.RED);
g.setFont(new Font("Courier New", Font.BOLD, 50));
g.drawString("Какой-то текст", 20, 50);
ImageIO.write(image, "jpg", new File(file.getParentFile(), "фото_гор_с_текстом.jpg"));