Jaa


Новый режим форматирования текста в WPF 4.

В WPF .NET Framework 4 появилась возможность тонкой настройки форматирования текста: было добавлено свойство TextOptions.TextFormattingMode, которое может принимать значения Ideal и Display.

Значение Ideal было единственным доступным режимом с момента выхода WPF. Как следует из названия, при использовании этого режима, контуры символов отображаются с максимальной точностью.

Второе значение – Display – впервые появилось в четвертой версии. Это значение указывает на использование GDI-совместимых метрик шрифтов.

Так для чего понабилось добавлять новый режим и когда его нужно использовать?

Для отображения крупных надписей (начиная примерно с 16) прекрасно подойдет режим Ideal. При помощи кода, приведенного ниже, была создана первая иллюстрация. Обе строчки выводятся одним и тем же шрифтом 18-го размера, однако верхняя строчка использует режим Ideal, а нижняя – Display. Разницы в качестве, как вы видите, особой нет. А если нет разницы – зачем вводить лишний параметр? :)

  <Window x:Class="TextFormattingDemo.MainWindow" 
          xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" 
          xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" 
          Title="MainWindow" Height="163" Width="448"> 
      <StackPanel> 
          <TextBlock FontSize="18" TextWrapping="Wrap"> 
            Однажды в студеную зимнюю пору я из лесу вышел. Был сильный мороз. 
          </TextBlock> 
          <TextBlock FontSize="18" TextOptions.TextFormattingMode="Display" TextWrapping="Wrap"> 
            Однажды в студеную зимнюю пору я из лесу вышел. Был сильный мороз. 
          </TextBlock> 
      </StackPanel> 
  </Window> 
  
  

font 18

Однако совсем другая картина возникает при использовании шрифта 12-го размера. Вторая строка в режиме Display явно более четко и аккуратно отрисована.

font 12

Применение этой несложной техники позволит значительно повысить привлекательность ваших приложений!

Technorati Tags: VS2010Tip,.NET4