Кто-нибудь знает, как сделать ярлыки или текст более плавным? В настоящий момент они выглядят довольно зубчатыми. Поскольку я хочу сделать ярлык динамическим, я не могу просто вставить текст из Photoshop.Как сделать текст/этикетки гладкими?
ответ
Вам придется динамически генерировать изображения, представляющие ваш текст, если вы хотите сгладить его. Вот пример на msdn: http://msdn.microsoft.com/en-us/library/a619zh6z.aspx
EDIT: Редактирование для комментария ниже.
Ссылка описывает использование события OnPaint вашего элемента управления для использования другого TextRenderingHint. Если Вы желаете что-то немного больше повторного использования, что вы можете сделать, это создать класс пользовательского ярлыка, который расширяет класс этикетки, и использовать это в своих формах:
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);
}
}
Добавить новый пользовательский элемент управления называется CustomLabel (или что бы вы ни назвали) и используйте приведенный выше код. Перестройте свой проект, и вы должны увидеть, как элемент управления CustomLabel отображается в панели инструментов вверху, в разделе «MyProject Components». На панели свойств этого пользовательского ярлыка вы увидите новое свойство TextRenderingHint. Установите для этого значение «AntiAlias». Добавьте еще одну метку в свою форму и сравните, как они выглядят.
Если вы хотите по умолчанию использовать AntiAlias, просто измените значение по умолчанию для частной переменной.
О, извините. Я просто отклонил вашу идею, поскольку кто-то ее ниспровергал. Как именно я буду использовать это? Я продолжаю получать ошибки, когда пытаюсь их скомпилировать. –
Ссылка переопределяет метод OnPaint, чтобы установить TextRenderHint для AntiAlias. См. Мое редактирование выше о том, как вы можете использовать это в многоразовом режиме. – zincorp
Спасибо большое! Он отлично работает. Похоже, что этот «d-load.org/Capture.PNG» выглядит так: «d-load.org/Capture2.PNG», как и ваш пример. Не знаю, почему кто-то запустил тебя ... Спасибо еще раз! –
Вы имеете в виду ClearType? Затем в Windows должен быть включен ClearType, и вы должны использовать современный шрифт, такой как Tahoma или Segoe UI, а не MS Sans Serif.
Update
Вы писали an example проблемы. I magnified it to 400 %. Ясно ClearType субпиксельное сглаживание -. Лично я не думаю, что текст выглядит неровным. Если вы хотите получить более качественный текст на экране, вы можете купить экран с более высоким физическим разрешением (пикселей на дюйм), а затем нарисуйте текст размером (соответственно) большего размера. Тогда текст будет иметь тот же размер на вашем экране, но будет выглядеть гораздо более гладким.
Вы также можете отказаться от ClearType и использовать какой-либо другой алгоритм сглаживания шрифтов, но это далеко не тривиально, потому что ClearType - это система сглаживания шрифтов в Windows.
Update 2
Если вы работаете в Windows 7, вы можете точно настроить ClearType. Просто откройте меню «Пуск», напишите «ClearType» и запустите руководство. Я думаю, что есть руководства для Vista и XP тоже, но, возможно, не установлены по умолчанию, но доступны как PowerToys или что-то в этом роде.
Включено. Я попробовал его с Tahoma и Segoe UI, но он все еще выглядит неровным. –
Хорошо, спасибо. Это просто другие программы не имеют дряблого текста, с моими текущими настройками в ClearType. Я изменил настройки в ClearType и посмотрю, улучшится ли это. Еще раз спасибо. –
У него включен ClearType. Проблема в том, что с большими шрифтами, cleartype выглядит плохо. Зачем?Потому что он пытается сделать ВСЕ острым, и эта резкость выглядит как наложение на шрифты около 24 + pt. –
Убедитесь, что у вас есть ClearType.
- 1. Сделать переходы более гладкими?
- 2. Как сделать мои шрифты более гладкими?
- 3. Как сделать гибкие переходы дизайна гладкими?
- 4. Хотите сделать переходы гладкими меню навигации
- 5. Можно ли сделать графики hist3 более гладкими?
- 6. Сделать много светлых треугольников выглядят гладкими
- 7. Как сделать края сюжета гладкими в командном языке NCAR (NCL)?
- 8. Как сделать веб-шрифты более гладкими во всех браузерах
- 9. Стрелка с гладкими закругленными углами
- 10. clippath с гладкими краями андроида
- 11. Ярлыки MindMap с гладкими поверхностями
- 12. Нарисуйте круг с гладкими краями
- 13. Как сделать градиенты гладкими на старых/дешевых андроидах, таких как HTC Magic?
- 14. ListView с эскизами, не прокручивающимися гладкими
- 15. Пользовательский курсор PNG - края не являются гладкими
- 16. Как сделать мои сюжетные точки гладкими в d3.js с помощью проекции?
- 17. Закругленные края с RoundRect не являются гладкими
- 18. Кромки шестиугольников не показаны гладкими в хроме
- 19. страницы переключения в ViewPager не являются гладкими
- 20. Учитывая октет вокселей, как вы визуализируете с гладкими поверхностями?
- 21. Вращение элементов, не являющихся гладкими и непрерывными в анимации CSS3
- 22. Как сделать анимацию jquery более гладкой?
- 23. UNITY3d Camera Follow и перемещение фона не являются гладкими
- 24. Looped jQuery слайд-шоу с гладкими перекрестными переходами
- 25. Анимация фонового положения CSS с гладкими результатами (субпиксельная анимация)
- 26. Как сделать jquery toggle smoother
- 27. Вычисления на орбите не выглядят гладкими в pyepehm
- 28. Закругленные края не являются гладкими (с использованием drawRoundRectangle in android)
- 29. Как сделать круговой на Iphone
- 30. CSS3 Эффекты Ken Burns не являются гладкими, т.е. 11
Можете ли вы дать нам картину? У вас включен ClearType? –
http://d-load.org/Capture.PNG Это изображение ярлыка. Посмотрите, как это выглядит довольно неровным и грубым? –