Image myImage = new Bitmap(@"\Windows\alerts.bmp");
// создаем текстурную кисть TextureBrush
texture = new TextureBrush(myImage);
// Рисуем эллипс, заполненный рисунком
g.FillEllipse(texture, 10, 60, 120, 120);
g.Dispose();
}
Такие свойства класса TextureBrush, как Transform и WrapMode, не поддерживаются в .NET Compact Framework 2.0.
Класс Color
При создании перьев или кистей применялся класс Color. Он позволяет задавать цвет либо с помощью предопределенного названия, либо указывая составные части цвета в модели RGB. Например, для создания красного цвета можно использовать код, приведенный в листинге 6.4.
// красный цвет по названию
Color redColor = Color.Red;
// красный цвет из компонентов RGB
Color redColor2 = Color.FromArgb(255, 0, 0);
// Выводим на экран две красные линии
g.DrawLine(new Pen(redColor), 10, 190, 100, 190);
g.DrawLine(new Pen(redColor2), 10, 195, 100, 195);
Класс Font
Класс Font используется для вывода текста. Как ни странно, вывод текстовой информации тоже является графической операцией, что немного смущает новичков. Из четырнадцати возможных перезагруженных версий конструктора класса в .NET Compact Framework доступно только три. Для создания объекта Font нужно определить семейство шрифтов, размер символов и стиль начертания. Пример использования шрифта приведен в листинге 6.5.
Font myFont = new Font("Tahoma", 9, FontStyle.Italic);
g.DrawString("Карманный компьютер", myFont, myBrush, 14, 200);
Класс Icon
Объект Icon используется методом DrawIcon для отображения пиктограмм. Предположим, что необходимо использовать пиктограмму, хранящуюся в ресурсах программы. В таком случае понадобится код, приведенный в листинге 6.6.
Icon myIcon = new Icon(Assembly.GetExecutingAssembly().
GetManifestResourceStream("MyApp.Icon.ico"));
Класс Bitmap
Класс Bitmap предназначен для работы с растровыми изображениями. Программист может загрузить картинку в объект Bitmap из потока Stream, скопировать из существующего объекта Bitmap или загрузить из файла. Также можно создать новый пустой объект Bitmap, указав только размеры картинки. Ранее класс Bitmap уже использовался при создании текстурной кисти. Но при этом применялся родственный объект Image. В листинге 6.7 приведен новый вариант создания кисти.
// выбираем рисунок
Bitmap myImage = new Bitmap(@"\Windows\alerts.bmp");
// создаем текстурную кисть
TextureBrush texture = new TextureBrush(myImage);
Структура Point
Структура Point содержит координаты Point, в котором указываются эти координаты. Структура Point часто используется в методах DrawPolygon и FillPolygon, которые будут рассматриваться позже.
Структура Rectangle
Структура Rectangle определяет размер и расположение прямоугольника. В мобильной версии используется только один конструктор, определяющий прямоугольник по координатам левого верхнего угла, ширине и высоте, что иллюстрирует код, приведенный в листинге 6.8.
Rectangle myRectangle = new Rectangled(10, 10, 70, 210);
Графические методы
В предыдущих примерах уже были использованы несколько методов для работы с графикой. Но сейчас следует поговорить о них более подробно. Прежде всего нужно помнить, что для работы с графическими методами необходимо сначала создать объект Graphics. Существует несколько способов получения объекта Graphics, и они будут рассматриваться достаточно подробно
Метод CreateGraphics формы или элемента управления позволяет получить объект Graphics, предоставляющий возможность рисовать на форме или элементе управления. Этот метод демонстрируется в листинге 6.9.
Graphics g = this.CreateGraphics();