2016-03-11 3 views
1

J'utilise une police Freetype pour afficher le texte. Mais la police a toujours l'air: # 1 Illisible (throught diminuer la taille de la police): UnreadableLibGDX (Freetype) police laide et illisible

 generator = new FreeTypeFontGenerator(Gdx.files.internal("Fonts/LDFComicSans.ttf")); 
     FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter(); 
     parameter.size = 5; 
     font = generator.generateFont(parameter); // font size 12 pixels 
     font.setColor(Color.BLACK); 
     font.getRegion().getTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear); 
     generator.dispose(); 

ou # 2 laid (par mise à l'échelle): Ugky

generator = new FreeTypeFontGenerator(Gdx.files.internal("Fonts/LDFComicSans.ttf")); 
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter(); 
parameter.size = 30; 
font = generator.generateFont(parameter); // font size 12 pixels 
font.setColor(Color.BLACK); 
font.getData().setScale(0.15F, 0.15F); 
font.getRegion().getTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear); 
generator.dispose(); 

Ces sont les paramètres appareil photo/viewport que j'utilise:

camera = new OrthographicCamera(1280, 720); 
     batch = new SpriteBatch(); 
     viewport = new StretchViewport(100,100,camera); 
     viewport.apply(); 

Je pense que c'est parce que la fenêtre d'affichage est trop petite mais je ne veux vraiment pas la changer. Est-ce que quelqu'un sait comment réparer ceci?

+0

J'ai eu un problème similaire à celui de l'image 2. J'essayais de dessiner le texte sur une position flottante (comme y = 26.14) et les lettres n'étaient pas alignées. Essayez de le dessiner toujours sur y arrondi (25,26,27) –

Répondre

4

Après votre version # 2, appelez le setUseIntegerPositions(false) sur la police. Par défaut, il arrondit les positions des caractères à l'entier le plus proche, ce qui semble terrible avec une fenêtre minuscule. Vous pouvez lui donner des cartes MIP et utiliser MipMapLinearLinear pour le filtre min pour compenser les caractères qui ne sont pas alignés avec les pixels de l'écran (pour réduire le flou).

+0

Merci cela fonctionne! – AlGrande

+0

Il est à noter que ceci est tout aussi utile lors de la création d'un fichier BitmapFont à partir d'un fichier .fnt. –