Est-ce que quelqu'un sait comment rendre les étiquettes, ou le texte, plus lisse? En ce moment, ils ont l'air assez déchiquetés. Comme je veux rendre le label dynamique, je ne peux pas simplement insérer le texte de Photoshop.Comment rendre le texte/les étiquettes lisses?
Répondre
Vous devrez générer dynamiquement des images représentant votre texte si vous voulez l'anti-alias. Voici un exemple sur msdn: http://msdn.microsoft.com/en-us/library/a619zh6z.aspx
EDIT: Modification par commentaire ci-dessous.
Le lien décrit l'utilisation de l'événement OnPaint de votre contrôle pour utiliser un TextRenderingHint différent. Si vous êtes désireux de quelque chose d'un peu plus réutilisable ce que vous pouvez faire est de créer une classe d'étiquette personnalisée qui étend la classe d'étiquettes et utilisez dans vos formes:
public partial class CustomLabel : Label
{
private TextRenderingHint _hint = TextRenderingHint.SystemDefault;
public TextRenderingHint TextRenderingHint
{
get { return this._hint; }
set { this._hint = value; }
}
protected override void OnPaint(PaintEventArgs pe)
{
pe.Graphics.TextRenderingHint = TextRenderingHint;
base.OnPaint(pe);
}
}
Ajouter un nouveau contrôle personnalisé appelé CustomLabel (ou tout ce que vous voulez l'appeler) et utilisez le code ci-dessus. Reconstruisez votre projet et vous devriez alors voir le contrôle CustomLabel apparaître dans votre boîte à outils en haut, sous la catégorie "MyProject Components". Dans le volet des propriétés de cette étiquette personnalisée, vous verrez la nouvelle propriété TextRenderingHint. Réglez ceci sur "AntiAlias". Ajoutez une autre étiquette à votre formulaire et comparez leur apparence.
Si vous voulez par défaut à AntiAlias, il suffit de changer la valeur par défaut de la variable privée.
Oh, désolé. Je viens de rejeter votre idée que quelqu'un l'avait downvoted. Comment pourrais-je utiliser cela? Je continue d'obtenir des erreurs lorsque j'essaie de le compiler. –
Le lien remplace la méthode OnPaint pour définir TextRenderingHint sur AntiAlias. Voir ma modification ci-dessus sur la façon dont vous pourriez utiliser cela de manière réutilisable. – zincorp
Merci beaucoup! Cela fonctionne très bien. Il est passé de ressembler à ceci "d-load.org/Capture.PNG" à ressembler à ceci "d-load.org/Capture2.PNG", juste comme votre exemple. Aucune idée pourquoi quelqu'un vous a rabaissé ... Merci encore! –
Faites-vous référence à ClearType? Puis ClearType doit être activé dans Windows, et vous devez utiliser une police moderne, comme Tahoma ou Segoe UI, pas MS Sans Serif.
Mise à jour
Vous posté an example du problème. I magnified it to 400 %. Clairement ClearType sous-pixel antialiasing est activé. Personnellement, je ne pense pas que le texte semble déchiqueté. Si vous voulez un texte à l'écran de qualité supérieure, vous pouvez acheter un écran avec une résolution physique plus élevée (pixels par pouce), puis dessiner le texte à une taille plus grande (de manière correspondante). Ensuite, le texte aura la même taille sur votre écran, mais aura l'air beaucoup plus lisse.
Vous pouvez également abandonner ClearType et utiliser un autre algorithme de lissage de polices, mais cela est loin d'être trivial, car ClearType est le système de lissage des polices sous Windows.
Mise à jour 2
Si vous utilisez Windows 7, vous pouvez affiner ClearType. Ouvrez simplement le menu Démarrer, écrivez "ClearType" et démarrez le guide. Je pense qu'il y a aussi des guides pour Vista et XP, mais peut-être pas installés par défaut, mais disponibles en PowerToys ou quelque chose comme ça ...
C'est activé. Je l'ai essayé avec Tahoma et Segoe UI, mais ça a l'air encore un peu brouillon. –
D'accord, merci. C'est juste que d'autres programmes n'ont pas de texte jaggy, avec mes paramètres actuels sur ClearType. Je vais changer les paramètres sur ClearType et voir si cela le rend mieux. Merci encore. –
Il avait ClearType activé. Le problème est qu'avec les grosses polices, cleartype semble mauvais. Pourquoi?Parce qu'il essaie de rendre tout TOUT net, et que la netteté ressemble à un alias sur les polices d'environ 24 + pt. –
Assurez-vous d'avoir ClearType activé.
- 1. Comment accélérer et rendre les cellules lisses dans l'iPhone?
- 2. Arcs lisses dans le quartz?
- 3. Modèles lisses dans Wpf
- 4. Étant donné un octree de voxels, comment pouvez-vous rendre avec des surfaces lisses?
- 5. Comment régler le remplissage des étiquettes SWT?
- 6. Comment dessiner des lignes lisses dans actionscript 3 (Flash)
- 7. open source hydrodynamique des particules lisses
- 8. Les bitmaps ne semblent pas lisses
- 9. comment faire des étiquettes?
- 10. Comment rendre le bloc HTML?
- 11. gsoap: comment le rendre configurable?
- 12. Comment fonctionnent les étiquettes Haskell?
- 13. Comment rendre correctement Control.Enabled = false?
- 14. Comment masquer des étiquettes en html
- 15. Comment obtenir Gridview pour rendre THEAD?
- 16. Masquer les étiquettes dans le graphique
- 17. Problème de peinture/toile Android; dessiner des courbes lisses
- 18. Comment rendre le processus plus rapide?
- 19. Comment rendre le fichier flash non téléchargeable?
- 20. comment rendre le div entier cliquable?
- 21. Phonegap - Comment rendre le statusbar noir?
- 22. Comment rendre le rendu en cache: json
- 23. Comment le rendre plus court (Pythonic)?
- 24. Comment rendre le validateur RequiredField visible
- 25. Android: Comment rendre le clavier toujours visible?
- 26. Comment rendre le processus Quartz.NET synchrone?
- 27. Comment rendre le PDF sous Android
- 28. Déplacement des étiquettes xaxis dans le flot
- 29. Les images redimensionnées ne sont pas lisses en flexion
- 30. Rendre le fichier Excel
Pouvez-vous nous donner une image? Avez-vous ClearType activé? –
http://d-load.org/Capture.PNG Thats une image d'une étiquette. Voyez-vous à quel point ça a l'air assez branlant et rugueux? –