Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Write text onto image in Java

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

like image 353
n002213f Avatar asked Apr 29 '10 09:04

n002213f


2 Answers

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");
    }
}
like image 96
Perumal Ramasamy Avatar answered Sep 21 '22 19:09

Perumal Ramasamy


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

like image 24
Etaoin Avatar answered Sep 17 '22 19:09

Etaoin