À l'aide des classes Graphics ou Graphics2D de Java, comment peindre une chaîne?
-
05-07-2019 - |
Question
J'ai une String
et je veux la peindre sur une image. Je peux peindre des points et dessiner des lignes, même après avoir lu le Texte du didacticiel des graphiques 2D , je ne vois pas comment prendre une Chaîne
et la peindre sur mon dessin.
À moins que je ne regarde le mauvais tutoriel (mais c'est celui que je reçois chaque fois que je cherche quelque chose à propos de Java et que je peins des chaînes de caractères en utilisant Graphics
ou Graphics2D
), suis toujours perplexe.
La solution
Découvrez la méthode suivante.
g.drawString();
Le drawString ()
fera ce dont vous avez besoin.
Un exemple d'utilisation:
protected void paintComponent(Graphics g){
g.setColor(Color.BLACK);
g.drawString(5, 40, "Hello World!");
}
N'oubliez pas que les coordonnées concernent le coin inférieur gauche de la Chaîne
que vous dessinez.
Autres conseils
si vous souhaitez jouer avec la forme de votre chaîne (par exemple: remplissage: rouge et contour: bleu):
Graphics2D yourGraphicsContext=(...);
Font f= new Font("Dialog",Font.PLAIN,14);
FontRenderContext frc = yourGraphicsContext.getFontRenderContext();
TextLayout tl = new TextLayout(e.getTextContent(), f, frc);
Shape shape= tl.getOutline(null);
//here, you can move your shape with AffineTransform (...)
yourGraphicsContext.setColor(Color.RED);
yourGraphicsContext.fill(shape);
yourGraphicsContext.setColor(Color.BLUE);
yourGraphicsContext.draw(shape);