Escrita em drawLine

4 respostas
W

Bom dia a todos.
Gostaria de saber se é possível escrever algo, uma mensagem, em uma linha (DrawLine). Não consegui achar nada em livros ou internet que pudesse me ajudar.
A ideia é a seguinte, criar pontos, a quantidade de pontos o usuário irá definir, linhas irão ligar esses pontos e nestas linhas, no centro, a descrição de algum valor, tipo distância entre os pontos.
Obrigado.

4 Respostas

TerraSkilll

Faça um desenho (no paint mesmo, se for o caso) mostrando o resultado que você espera.

De antemão, recomendo dar uma olhada em Java2D (se está usando java). Veja por exemplo: http://pontov.com.br/site/java/48-java2d/93-uma-visao-rapida-sobre-o-java-2d

Abraço.

W

Seria mais ou menos assim.

TerraSkilll

Possível é, mas talvez você não encontre nada pronto mesmo. Terá que ler vários assuntos e juntar os pedaços.

Para saber em que posição desenhar o texto, a ideia é:

  • pegar dois pontos e calcular o meio deles (operação matemática simples). Chame isso de D;
  • calcular o tamanho (em pixels) do texto a ser escrito e dividir por 2. Chame isso de T;
  • subtrair T de D. Chame isso de P (P = D - T).
  • desenhar o texto na posição P;

Obs: note que P, D e T são pontos, ou seja, possuem duas coordenadas (X e Y).

Para Java e Java2D, é possível fazer tudo isso. Por exemplo, para saber o tamanho de um texto use FontMetrics. Também é possível desenhar textos, linhas, círculos, etc. Nesse link há um código que usa um retângulo como base, mas a ideia é próxima: http://stackoverflow.com/questions/27706197/how-can-i-center-graphics-drawstring-in-java

Algumas bibliotecas de gráficos e grafos podem facilitar sua vida, se não quiser fazer tudo na mão. Esse exemplo aí me parece alguns do JGraph que já vi, mas não tenho certeza. Note que ele parece fazer um ajuste para o texto não ficar sobre as intersecções (como entre C~G e D~F), então é um algoritmo mais complexo do que o que sugeri.

Abraço.

W

Vou utilizar sua ideia, mas vou dar uma olhada neste exemplo, Muito obrigado por sua ajuda.
Abraços.

Criado 19 de abril de 2016
Ultima resposta 19 de abr. de 2016
Respostas 4
Participantes 2