59 votes

Comment ajouter du texte à une image en java ?

J'ai besoin d'ajouter quelques textes à une image de tableau existante (png). Cela signifie que je dois "écrire" sur l'image et que je dois avoir la possibilité de sélectionner l'emplacement du texte. Comment puis-je le faire ? Merci beaucoup.

0 votes

Qu'utilisez-vous pour représenter l'image ? Avez-vous déjà l'image dans un format quelconque en Java ou voulez-vous écrire un programme Java complet qui obtient une image et renvoie cette image avec le texte écrit dessus à partir de zéro ?

0 votes

+1, bonne question :-) j'ai appris quelque chose.

125voto

dacwe Points 26160

C'est facile, il suffit de prendre le Graphics de l'image et dessinez votre ficelle sur l'image. C'est ce que fait cet exemple (et l'image de sortie) :

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

2 votes

Voir aussi cet exemple en utilisant GlyphVector pour d'autres combinaisons texte/image intéressantes.

0 votes

Comment sauvegarder l'image sur mon ordinateur ?

0 votes

C'est déjà dans le code ci-dessus. Utilisez ImageIO.write(image, "png", new File("test.png")); Il écrira le fichier ( test.png ) dans le répertoire courant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X