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

 

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

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

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

В GDI+ для изменения точки отсчета системы координат используется метод Transl ateTransform(), определенный в классе Graphi es. Например, установить точку отсчета в положение 100.100 относительно системы координат по умолчанию можно следующим образом:
щину пера (Реп) равной 5. Теперь это значит, что наш 100-дюймовый прямоугольник будет нарисован пером 5-дюймовой толщины. Фактически на нашей форме поместилась лишь крохотная часть внутренней области прямоугольника. Это — серая часть в правом нижнем углу.
1
424 Глава 9 • Графика становится лучше (GDI+)
private void MainFomJ'ainUobject sender. РаїntEyentsArgs e)
Il Настраиваем единицы измерения
е.Graphics.PageUnit = GraphicsUnit.Point;
Il Настраиваем новую точку отсчета для системы координат е.Graphi es.TranslateTransformC100. 100);
// Код вывода прямоугольника остается прежний
е.Graphics.DrawRectangle(new PenColor.Red. 1), 0. О, 100. 100):
}
В качестве примера можно воспользоваться приложением CoorSysteni, которое находится в подкаталоге Chapter 9. В этом приложении созданы два меню верхнего уровня, при помощи которого мы можем выбрать используемые при выводе прямоугольника единицы измерения и точку отсчета для системы координат. Окно этого приложения представлено на рис. 9.6.
[ :+ Coordinate 5?" - lal xi
Unt of Measurement Origin
(0, 0)
(5, 5)
.,) (100. 100)

,-_-1
Рис. 9.6. Тестовое приложение выбора единиц измерения и точки отсчета координат
В этой главе мы познакомимся с многими другими возможностями объекта Graphics. А теперь наша тема — работа с цветом в GDI+.
Работа с цветом
При использовании многих методов вывода, которые определены в классе Graphi cs, мы должны указать используемый цвет. Как правило, для этого используется структура Color. Эта структура позволяет задать цвет в системе ARGB (aplha-red-green-blue, альфа-канал (отвечающий за прозрачность) - красный - зеленый -синий). Чаще всего для выбора цвета используются статические свойства этой структуры, которые возвращают объект типа Color:
// Один И' множества npeiionDeiieneiiHiH* цветов Color с = Color.PapayaWhip:
Как видно из табл. 9.11, существуют и другие способы, при помощи которых мы можем создать объект or. Вне зависимости от того, какой из них мы исполь-
Работа с цветом 425
3ve.vL члены структуры Color позволят нам получить полную информацию о выбранном нами цвете (табл. 9.11).
Таблица 9.11. Члены типа Color
Член
Назначение
FromArgbO
FromKnownColor()
FromName()
R, G, В IsNamedColcrQName
GetBrightnessO
GetHueO
GetSaturationO
ToArgbQ ToKnownColor()
Возвращает объект типа Color. Для этого метода указываются числовые значения прозрачности, красного, зеленого и синего цветов
Возвращает объект типа Color. Используются значения из перечисления
KnownColor
Возвращает объект типа Color. Используюіся значения
(например, Red)
Эти свойства возвращают значения, присвоенные параметрам прозрачности (А), красного (R), зеленого (G) и синего (В) цветов
Эти члены применяются к текущему объекту Color. Они позволяют определить, соответствует ли он какому-либо из именованных цветов (например. Red), и, если соответствует, позволяют вернуть имя цвета
Помимо самой распространенной системы RGB существует и другая система цветовоспроизведения - HSB (Hue-Saturabon-Brightness, оттенок-насыщенность-яркость). Эта методы позволяют получать для текущего объекта Color соответственно значения яркости, оттенка и насыщенности
Возвращает числовые значения ARGB для объекта Color
Возвращает значение из перечисления KnownColor для объекта Color
Возможности класса ColorDialog
В пространстве имен System.Windows.bonus предусмотрен заранее готовый класс Col orDi alog, который обеспечивает пользователей приложения диалоговым окном для выбора цвета (рис. 9.7). Обратите внимание, что значения RGB или HSB могут быть выбраны как при помощи цветового поля, так и путем введения известных числовых значений.
Custom cofcKs:
гггггггг гггггггг
Define Custom Cobra

Cancel
fled: |2Э1 fireen: [тіГ
^dd la Сигігжі Colas
Рис. 9.7. Стандартное диалоговое окно для выбора цв<" а которое можно использовать
в приложении
426 Глава 9 • Графика становится лучше (GDI+)
Работа с классом ColorDialog производится очень просто. Первое, что нужно сделать - создать объект этого класса в программе. Затем, чтобы открыть диалоговое окно для пользователя, воспользуемся методом Showui a logi). После того как пользователь сделает выбор, получить объект Color (соответствующий сделанному выбору) можно с помощью свойства Col OrDi a log. Color.
Например, предположим, что мы хотим обеспечить пользователю возможность выбирать при помощи этого диалогового окна цвет фона главной формы приложения. Чтобы упростить нашу задачу, сделаем так, чтобы диалоговое окно выбора цвета открывалось по щелчку мыши в любом месте клиентской части формы. Решение может выглядеть так:
publtc class ColorDlgrcrm : System - лі пслл. Forms Form
II Работаем с классом ColorDialog
private System.Windows.Forms.ColorDialog colorDlg;
Предыдущая << 1 .. 167 168 169 170 171 172 < 173 > 174 175 176 177 178 179 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100