Descobrir a largura real de uma string  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
FelipeBValio
Thread.start()
[Avatar]

Membro desde: 29/04/2008 13:22:39
Mensagens: 27
Offline

Olá. Estou tento problemas em descobrir a largura em pixels de uma string. No java existe uma infinidade de métodos do tipo stringWidth() e getStringBounds() que posso chamar de classes como Font, Graphics, FontMetrics etc.

O problema é que estes métodos não retornam a largura de um caracter ou string. Eles simplesmente retornam a largura usada para espaçar dois caracteres consecutivos. Isso torna-se um problema quando um caracter invade o espaço de outro caracter. Isso acontece em fontes muito estilisadas ou em itálico.

Eu preciso de um método que me dê a largura total em pixels que é necessário para armazenar um caracter em uma imagem.

Em anexo estou enviando a imagem de um caracter F que está me dando trabalho. Ele possui 32 pixels de largura, embora qualquer método para cômputo da largura sempre me retorna 10.
[Thumb - F.png]
 Nome do arquivo F.png [Disk] Download
 Descrição
 Tamanho 409 bytes
 Baixado:  25 vez(es)

thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Não sei se isto ajuda (obviamente não fiz nenhum teste, só usei o velho e bom Google)

http://java.sun.com/products/java-media/2D/reference/faqs/index.html#Q_What_is_the_difference_between

Veja esta classe:

http://download.oracle.com/javase/6/docs/api/java/awt/font/TextLayout.html

e em particular,

http://download.oracle.com/javase/6/docs/api/java/awt/font/TextLayout.html#getPixelBounds%28java.awt.font.FontRenderContext,%20float,%20float%29


[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team