17

Is there a Java library to write text to images, same as PHP's GD library.

n002213f
  • 7,805
  • 13
  • 69
  • 105

3 Answers3

37

Try the below code

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class Testing {
    public static void main(String arg[]) throws IOException {
        String key = "Sample";
        BufferedImage bufferedImage = new BufferedImage(170, 30,
                BufferedImage.TYPE_INT_RGB);
        Graphics graphics = bufferedImage.getGraphics();
        graphics.setColor(Color.LIGHT_GRAY);
        graphics.fillRect(0, 0, 200, 50);
        graphics.setColor(Color.BLACK);
        graphics.setFont(new Font("Arial Black", Font.BOLD, 20));
        graphics.drawString(key, 10, 25);
        ImageIO.write(bufferedImage, "jpg", new File(
                "C:/Users/admin/desktop/image.jpg"));
        System.out.println("Image Created");
    }
}
Perumal Ramasamy
  • 497
  • 5
  • 11
9

Sure. First load the image, probably using a method of ImageIO. Then, using a Graphics object representing the image itself, call the drawString method.

Etaoin
  • 8,444
  • 2
  • 28
  • 44
4

Take a look at Graphics2D.drawString

Joshua Fox
  • 18,704
  • 23
  • 87
  • 147