Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 172

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 166 167 168 169 170 171 < 172 > 173 174 175 176 177 178 .. 320 >> Следующая

FillPathO объектов
FiIIPIeO
FNIPolygonO
FillRectangleO
MesureString() Возвращает структуру Size, представляющую границы блока текста
В классе Graphics также определен набор свойств, при помощи которых можно настраивать параметры графических объектов. Наиболее важные свойства представлены в табл. 9.9.
Таблица 9.9. Свойства класса Graphics Свойство Назначение
Clip Эти свойства позволяют настроить параметры отсечения для объекта
Graphics
ClipBounds
VisibleClipBounds
IsClipEmpty
IsVisibleClipEmpty
Transform Для проведения преобразований координат (более подробно — см. далее _ в этой главе)
Система координат по умолчанию в GDI+ 421
Свойство
Назначение
PageUnit PageScale DpiX IDpLY
SmoothingMode PixelOffsetMode TextRenderingHint
iCompositing Mode CompositingQuality
InterpolationMode
Эти свойства позволяют задать «место происхождения» операции вывода графического объекта и единиц измерения
Позволяют задать плавность переходов для геометрических объектов и текста. Устанавливаются при помощи значений из соответствующих !перечислений, определенных в пространствах имен System.Drawing и System.Drawing2D
Свойство Corn positing Mode определяет,- будет ли выводимый графический объект выводиться над фоном или будет происходить смешение с фоном. Используются значения из перечисления CompositingMode, определенном в пространстве имен System.Drawing2D. CompositingQuality определяет параметры процесса смешивания. Для него используются значения из перечисления CompositingQuality, также определенном в пространстве имен System.Drawing2D
Определяет интерполяцию между конечными точками. Используются значения из соответствующего перечисления
Мы будем использовать многие из этих свойств в примерах этой главы.
Система координат по умолчанию в GDI+
Перед тем как мы начнем знакомиться с тонкостями вывода графических объек тов, нам необходимо разобраться в используемой в GDI+ системе координат. Как и в API Win32, в GDI+ мы можем выбирать из множества систем координат. Сж тема, принятая по умолчанию, использует в качестве единицы измерения киксе лы, а в качестве исходной точки - верхний левый угол. Координата X определяет смещение вправо, а координата Y — смещение вниз (рис. 9.3).
(0,0)
1 1 f
Рис. 9.3. Система координат, используемая по умолчанию
Например, если мы произведем вывод прямоугольника следующим образом:
private void M.2iriFo."m_PoirHobiect sender, PaintlventAigs e)
(
Il Выводим прямоугольник, используй систему координат по умолчанию
е.Graphics.DrawRectangletnew PenCColor.Red. 5). 10, 10. 100. 100);
¦
то получится прямоугольник размером 90 х 90 пикселов, отстоящий от зерхнео -левого края формы на 10 пикселов вниз и вправо (рис. 9.4).
422 Глава 9 * Графика становится лучше (GDI+)
4 Coordinate
Рис. 9.4. Выывод с применением координат по умолчанию
Скорее ncei -о. в реальном приложении мы будем использовать именно систему координат по умолчанию. Однако нам ничто не мешает в случае необходимости воспользоваться и альтернативной системой.
Применение альтернативных единиц измерения
Как уже говорилось, единица измерения по умолчанию — это пиксел. Однако при помощи свойства PageUnit объекта Graphics мы можем выбрать другую единицу измерения, которая будет применяться к этому объекту. Для свойства PageUnit используются значения из перечисления GraphicsUnit (табл. 9.10).
Таблица 9.10. Перечисление GraphicsUnit
Значение Используемая единица измерения
Display 1/75 часть дюйма
Document 1/300 часть дюйма
Inch Дюйм
Millimeter Миллиметр
Pixel Пиксел
Point 1/72 часть дюйма
Если мы изменим код нашего примера следующим образом: private void т і nP'orni Pa int (object sender. Pr:~tEver.tA-gs e)
:
}
И Выводин прямоугольник... теперь в дюймах, а не пикселах е. Graphics.PageUnit = GraphicsUnit.Inch:
е.Graphics. DrawRectangle(new Pen(Coior.Red. 5). 0. 0, 100, 100):
то в результате он станет просто неузнаваем (рис. 9.5).
Если вам трудно понять, что же произошло, объясняем: примерно 85 % клиентской площади формы теперь занято рамкой от прямоугольника. Мы указали тол-
Система координат по умолчанию в GDI+ 423
Рис. 9.5. То же самое, но единицы измерения — дюймы
Применение альтернативных точек отсчета
Как мы помним, по умолчанию точкой отсчета для системы координат является верхний левый угол клиентской площади формы. В подавляющем большинстве случаев это нас вполне устроит. Однако бывает ситуации, когда удобнее, чтобы точка отсчета системы координат была расположена в другом месте. Например, предположим, что в нашем приложении необходимо резервировать ную зону по всему периметру клиентской области формы.
Конечно, в этой ситуации мы можем также воспользоваться системой отсчета по умолчанию, а смещение при выводе всех графических объектов обеспечивать вручную. Но гораздо проще и надежнее сместить систему координат таким образом, чтобы вывод графических объектов начинался с отметки (100, 100) всистеме координат по умолчанию. По крайней мере, при использовании этого подхода нам обеспечить смещение точки отсчета координат единственный раз, а всю остальную логику, отвечающую за вывод графических объектов, можно будет оставить в неприкосновенности.
Предыдущая << 1 .. 166 167 168 169 170 171 < 172 > 173 174 175 176 177 178 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100