Mit Graphics2D auf text-overlay auf ein BufferedImage und zurück ein BufferedImage
Ich habe ähnliche Namen Fragen, aber keine Antwort auf diesen Anwendungsfall.
Im Grunde war ich auf overlay-text (text) auf einer bestimmten Koordinate (x,y) habe ich die unter-Funktion in einem Paket;
protected BufferedImage Process2(BufferedImage image){
Graphics2D gO = image.createGraphics();
gO.setColor(Color.red);
gO.setFont(new Font( "SansSerif", Font.BOLD, 12 ));
gO.drawString(this.text, this.x, this.y);
System.err.println(this.text+this.x+this.y);
return image;
}
Ich das Gefühl, im fehlt etwas, das offensichtlich; jeder Verweis auf Graphics2D ich finden kann, ist der Umgang mit entweder Spiele oder das direkte schreiben in eine Datei, aber ich möchte einfach ein BufferedImage zurückgegeben. mit der überlagerung 'gerendert'
In den aktuellen code ein, erscheint das Bild am Ende unverändert.
Dank!
InformationsquelleAutor der Frage Bolster | 2010-04-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Methode
drawString()
verwendet x und y für die am weitesten Links stehende Zeichen ist Grundlinie. Zahlen haben in der Regel keine Unterlängen; wenn das gleiche gilt fürtext
eine Schnur gezogen, an der position (0,0) dargestellt werden vollständig außerhalb des Bildes. Sehen Sie diese Beispiel.Nachtrag: Sie werden unter Umständen mit einer inkompatiblen Farbe Modell im Bild. Eine einfach zweckmäßig ist, Rendern Sie das Bild und ändern Sie es in-situ -.
InformationsquelleAutor der Antwort trashgod