Pergunta

Eu tenho um String e quero pintá-lo em uma imagem. Eu sou capaz de pintar pontos e desenhar linhas, no entanto, mesmo depois de ler o parte do texto do Gráficos 2D tutorial , eu não consigo descobrir como eu posso dar uma String e pintá-lo para o meu desenho.

A menos que eu estou olhando para o tutorial errado (mas é o que eu obter sempre que procurar nada sobre Java e pintura Cordas usando Graphics ou Graphics2D), eu ainda estou perplexo.

Foi útil?

Solução

Confira o seguinte método.

g.drawString();

O método drawString() vai fazer o que você precisa.

Um exemplo de uso:

protected void paintComponent(Graphics g){
    g.setColor(Color.BLACK);
    g.drawString(5, 40, "Hello World!");
}

Basta lembrar, as coordenadas são relativas ao canto inferior esquerdo da String você está desenhando.

Outras dicas

Se você quiser jogar com o forma de sua string (por exemplo: preenchimento: vermelho e acidente vascular cerebral: azul):

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);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top