2012-06-07 22 views
51

Ich muss einige Texte zu einer vorhandenen Tabelle Bild (PNG) hinzufügen. Was bedeutet, dass ich auf dem Bild "schreiben" muss und ich brauche die Option, um den Text zu wählen. Wie kann ich es tun? Vielen Dank.Wie füge ich Text zu einem Bild in Java hinzu?

+0

Was sind Sie das Bild repräsentieren mit? Haben Sie das Bild bereits in einem bestimmten Format in Java oder möchten Sie ein ganzes Java-Programm schreiben, das ein Bild erhält und das Bild mit dem darauf geschriebenen Text von Grund auf zurückgibt? –

+0

+1, nette Frage :-) machte mich etwas lernen –

Antwort

101

Es ist einfach, holen Sie sich einfach das Objekt Graphics aus dem Bild und zeichnen Sie Ihre Zeichenfolge auf das Bild. Dieses Beispiel (und Ausgabebild) tut das:

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")); 
} 

Ausgang (test.png):

output

+27

+1 für Lenna in Grafik-Verarbeitung Thema;) – Xeon

+0

@Xeon: Immer! :) – dacwe

+2

Siehe auch [dieses Beispiel] (http://stackoverflow.com/a/6296381/418556) mit 'GlyphVector' für andere interessante Text/Bild-Kombinationen. –

Verwandte Themen