размытый шрифт в приложении silverlight2 - PullRequest
5 голосов
/ 26 января 2009

Я сделал свое первое приложение Silverlight 2, и что раздражает, так это то, что текстовые шрифты выглядят размытыми или рваными.

Вы можете увидеть это здесь:

альтернативный текст http://img516.imageshack.us/img516/1444/blurryfonthp3.png

Это «особенность» SL или я что-то не так делаю?

Я знаю, что SL2 использует несколько причудливых техник, чтобы сделать приложения независимыми от устройств, но эти шрифты неприемлемы (я использую Vista с Aero).

Бонусный вопрос: есть ли в SL2 справочное бизнес-приложение?

С уважением,

Tomasz

Ответы [ 4 ]

5 голосов
/ 03 апреля 2009

Я бы определенно сказал бы, что это выглядит размыто - вроде как если бы вы просматривали это на OSX или Linux. Я тоже согласен с тем, что это недопустимо - конечно, вместе с WPF, где рендеринг шрифтов также ужасен. Теперь, несмотря на то, что Microsoft продолжает обещать исправить это в выпуске .NET 4, на самом деле многим из нас сегодня нужно отправлять / продавать вещи, что приводит к следующему выбору:

  • Вы можете игнорировать здравый смысл и просто отправить программное обеспечение как есть - делая шрифты больше и что у вас есть. Пока ваш клиент покупает, в чем проблема? (не мой выбор, хотя)
  • Если вы работаете с Silverlight, вы можете подождать до следующего выпуска, пока это не будет исправлено (то же самое для WPF). Удачи. Посмотрите, как давно работает WPF, все знали об этой проблеме, и угадайте, что ... она не была исправлена.
  • Если вы работаете с WPF, вы можете получить идеальный рендеринг шрифтов - алгоритм, который даже незначительно лучше, чем тот, что делает Vista (что, скажем прямо, почти идеально). То же самое касается WinForms. Алгоритм для идеального ClearType представляет собой смесь разумного использования субпиксельного рендеринга, сглаживания и использования хинтинга шрифта (где доступно). Я сделал это, и даже весело провел время, оптимизируя его для SIMD и тому подобного. Это это серьезное вложение вашего времени, хотя.
  • Пиксельные шрифты. Я сам не пробовал, но это должно сработать.
  • Предварительно визуализированные растровые изображения. Ах да, если вы хотите убить скорость, продолжайте. Сказав это, я думаю, что это приемлемо , если вы знаете, что используете аппаратное ускорение.

Полагаю, я пытаюсь сказать следующее: 1025 * есть решение для WPF / WinForms (да, WinForms ClearTypeGridFit тоже не лучший алгоритм), но есть не решение для Silverlight. Еще. Хотелось бы, чтобы кто-то доказал, что я не прав.

4 голосов
/ 26 января 2009

Сглаживание - это просто особенность Silverlight; не сказал бы, что это выглядит расплывчатым, хотя мне это очень нравится.

Ссылка мудрая, я не думаю, что есть полноценный пример приложения, который я видел, но если вы посмотрите на Model-View-ViewModel с IPropertyNotifyChanged / ObservableCollection и просматриваете блоги Jesse Liberty и Шон Вильдермут у них достаточно информации о передаче данных и многостраничных приложениях - и то, и другое вам понадобится для создания "бизнес-приложения"

3 голосов
/ 26 января 2009

Реализация рендеринга шрифтов ClearType в WPF и Silverlight разработана таким образом. Текст анимирован, но выглядит размытым.

0 голосов
/ 05 апреля 2009

Я воспользуюсь другим слотом для ответов, так как здесь есть, что сказать.

Хотелось бы, чтобы я мог предлагать ссылки на такие ресурсы :) Я имею в виду, что такого не существует, и я сомневаюсь, что люди, которые сделали это, будут с исходным кодом того, как они это сделали. Это главным образом потому, что огромное количество необходимой работы ошеломляет.

Вот как я это сделал. Во-первых, я нашел идеальный (или почти) алгоритм, похожий на ClearType - что-то, что сработало специально для меня (напомню, без подсказок, но, учитывая стоимость, меня это не побеспокоило). Затем я подключил его к .NET, чтобы я мог по крайней мере визуализировать растровые изображения с текстом (у меня есть тестовая страница Silverlight , которая показывает его в действии). Следовательно, я настроил алгоритм так, чтобы его можно было использовать вместо, например, метки. Мое приложение было полно ярлыков, так что я сделал это. (Текстовые поля могут быть намного сложнее, как вы можете себе представить). И это было то.

Как видно из ссылки, возможно, можно получить хороший текст в стиле ClearType и в Silverlight. Я потратил всего 2 дня на подключение веб-службы для визуализации текста, и это довольно медленно, но я считаю, что для таких вещей, как метки, нет никаких причин, почему что-то подобное - особенно с кэшированием и другими хитростями - невозможно сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...