17

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

n002213f
  • 7,670
  • 13
  • 66
  • 104

4 Answers4

35

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
  • 468
  • 4
  • 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,094
  • 2
  • 26
  • 43
4

Take a look at Graphics2D.drawString

Joshua Fox
  • 17,144
  • 15
  • 75
  • 126
1

yes, java.awt.*

Here's one example; there are hundreds out there.

Bozho
  • 572,413
  • 138
  • 1,043
  • 1,132