Mit Graphics2D möchte ich einen Text in meinem Bild zeigen, aber ich möchte, dass es in einer Zeile angezeigt wird. Das heißt, wenn der Text länger als das Bild ist, wird die Größe reduziert (angepasst)Java Graphics Font - Wie stellt man sicher, dass der Text in einer Zeile gehalten wird?
Wie könnte ich tun?
Bis jetzt, hier ist was ich getan habe, aber ich bin mir sicher, es ist wirklich schlimm.
int fontSize = 66;
FontRenderContext frc = new FontRenderContext(null, true, true);
element = null;
do { // we turn until the size goes into the image
fontSize -= 2;
layout = new TextLayout(myText, new Font(font, Font.BOLD, fontSize), frc);
element = layout.getPixelBounds(null, 0, 0);
if (fontSize <= 12) {
throw new Exception ("Title too long.");
}
} while(element.width > image.getWidth());
Wie kann ich tun?
Danke für Ihre Hilfe.