2010-12-13 55 views
1

Pour un projet sur lequel je travaille, j'ai besoin de rendre un texte de taille de police variable sur une toile, parfois plusieurs fois. Pour ce faire, je suis en train de créer un vecteur de glyphe et de dessiner en utilisant Graphics2D.Rendu d'un vecteur de glyphe avec une grande taille de police

font = new Font(fontName, Font.PLAIN, fontSize); 
glyphs = font.createGlyphVector(frc, text); 

... 

g2.setColor(word.getColor()); 
g2.drawGlyphVector(word.getGlyphs(), (float)word.getPosition().getX(), (float)word.getPosition().getY()); 

Cela a fonctionné très bien jusqu'à récemment, quand je remarque que les grandes tailles de police (quoi que ce soit au-dessus de 100) ne peuvent pas être rendus. Le vecteur glyphe semble être créé sans problème, et semble être précis pour le texte que je m'attends à rendre. Il semble que Graphics2D pose problème avec le rendu des glyphes.

Je l'ai vérifié avec une multitude de polices de caractères, et tout semble avoir une limite stricte de 100. Je n'ai trouvé aucune mention d'un bouchon après une bonne quantité de googling.

Y a-t-il des problèmes connus avec le rendu de vecteurs glyphes avec de grandes tailles de police à l'aide de Graphics2D?

Répondre

0

Pouvez-vous essayer d'utiliser glyphs.getOutline() et rendre la forme obtenue?

En fait, j'ai essayé le rendu des vecteurs glyphes et je ne me souviens pas de problèmes avec les grosses polices. Pourriez-vous poster un code compilable pour montrer le problème?

+0

Salut, je viens de remarquer que c'est un problème spécifique à ma plateforme de développement (Fedora). En essayant de reproduire un exemple de code, je n'ai aucun problème sur mon ordinateur Windows. Je vais devoir regarder plus loin mais cela indique au moins que ce n'est pas une faute avec le vecteur de glyphe lui-même ... – deyur