Векторная графика

86

В приложениях на платформах WPF и Silverlight все графические данные визуализируются с использованием векторной графики. Но применение векторной графики не ограничивается только специальными геометрическими формами, создаваемыми инструментом Pen или Pencil. Оказывается в прикладных интерфейсах WPF API и Silverlight API элементы управления пользовательского интерфейса (кнопки, текстовые поля, меню, таблицы данных и прочее) также визуализируются с помощью векторной графики.

Векторная графика представляет целый ряд преимуществ, первым из которых является независимость от разрешения. При разработке приложения на платформе WPF или Silverlight можете быть полностью уверены в том, что данные пользовательского интерфейса, а также специальные графические данные будут четко отображаться независимо от размеров просмотрового экрана.

Так, если приложение Silverlight выполняется на мобильном телефоне под управлением ОС Windows Mobile 7, его пользовательский интерфейс автоматически масштабируется в соответствии с размерами маленького экрана мобильного телефона. А если то же самое приложение Silverlight выполняется в окне браузера на настольном компьютере пользователя, его пользовательский интерфейс соответственно масштабируется и четко отображается на крупном экране монитора независимо от разрешения последнего.

Применение векторной графики оказывается особенно эффективным при конструировании элементов управления пользовательского интерфейса (и в диспетчерах компоновки, которые содержат подобные элементы). В частности, всего лишь в нескольких строках разметки можно определить блочную панель (объект типа StackPanel) с элементам управления, которые визуализируются под углом 45°, вверх дном или на трехмерной плоскости. Кроме того, в приложениях на платформах WPF и Silverlight поддерживаются многочисленные визуальные эффекты (падающие тени, завихрения размывания и пр.), которые можно применять к векторным графическим данным, не опасаясь ухудшения окончательно визуализируемого результата.

Если вы перешли на WPF или Silverlight с другой платформы для разработки пользовательского интерфейса приложений, например Windows Forms, ASP.NET или иной среды, у вас может возникнуть невольный вопрос: а нужно ли вообще иметь дело с графическими данными?

В частности, у вас может сложиться мнение о том, что типичное коммерческое приложение, полностью оснащенное системами меню, таблицами данных и специальными диалоговыми окнами, не требует особого графического оформления. И хотя такая точка зрения вполне правомерна, следует все же иметь в виду, что применение векторной графики глубоко укоренено на платформах WPF и Silverlight и обнаруживается в самых неожиданных местах.

В частности, ясное представление о том, как следует манипулировать графикой имеет решающее значение для создания особого стиля оформления ряда элементов управления. Графика и анимация применяется также при создании шаблонов элементов управления, специальной настройке операций привязки данных (с помощью действующего шаблона) или внедрении визуальных подсказок для конечного пользователя (например, эффекта свечения активной области ввода текста).

Более того, как будет показано далее в Expression Blend предоставляется целый ряд способов оперативного формирования специальных элементов управления с использованием векторной графики в качестве отправной точки.

Таким образом, ясное представление о том, как следует манипулировать графическими данными, служит прочным основанием для разработки многих реальных проектов, несмотря на то, что вам, возможно, придется не так уж и часто оформлять свои приложения WPF и Silverlight такими графическим элементами, как, например, произвольный зеленый кружок. Поэтому рассмотрение данной темы начнем с применения основных инструментов рисования, доступных в Expression Blend, для формирования специальных векторных геометрических форм.

Пройди тесты
Лучший чат для C# программистов