Utilizzando le classi Graphics o Graphics2D di Java, come dipingo una stringa?
-
05-07-2019 - |
Domanda
Ho una String
e voglio dipingerla su un'immagine. Sono in grado di disegnare punti e disegnare linee, tuttavia, anche dopo aver letto Parte del testo del tutorial sulla Grafica 2D , non riesco a capire come posso prendere una String
e dipingerla sul mio disegno.
A meno che non stia guardando il tutorial sbagliato (ma è quello che ottengo ogni volta che cerco qualcosa su Java e dipingo stringhe usando Graphics
o Graphics2D
), I Sono ancora perplesso.
Soluzione
Scopri il seguente metodo.
g.drawString();
Il drawString ()
farà ciò di cui hai bisogno.
Un esempio di utilizzo:
protected void paintComponent(Graphics g){
g.setColor(Color.BLACK);
g.drawString(5, 40, "Hello World!");
}
Ricorda solo che le coordinate riguardano la parte inferiore sinistra della String
che stai disegnando.
Altri suggerimenti
se vuoi giocare con la forma della tua stringa (ad es. riempimento: rosso e tratto: blu):
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);