web-dev-qa-db-fra.com

Comment ajouter du texte à une image en Java?

J'ai besoin d'ajouter des textes à une image de table existante (png). Ce qui signifie que je dois "écrire" sur l'image et j'ai besoin de l'option pour sélectionner l'emplacement du texte. Comment puis-je le faire? Merci beaucoup.

56
whiteberryapps

C'est facile, il suffit de récupérer l'objet Graphics de l'image et de dessiner votre chaîne sur l'image. Cet exemple (et l'image de sortie) fait cela:

public static void main(String[] args) throws Exception {
    final BufferedImage image = ImageIO.read(new URL(
        "http://upload.wikimedia.org/wikipedia/en/2/24/Lenna.png"));

    Graphics g = image.getGraphics();
    g.setFont(g.getFont().deriveFont(30f));
    g.drawString("Hello World!", 100, 100);
    g.dispose();

    ImageIO.write(image, "png", new File("test.png"));
}

Sortie (test.png):

output

115
dacwe