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.

<p>Класс Color</p>

При создании перьев или кистей применялся класс Color. Он позволяет задавать цвет либо с помощью предопределенного названия, либо указывая составные части цвета в модели RGB. Например, для создания красного цвета можно использовать код, приведенный в листинге 6.4.

Листинг 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);

<p>Класс Font</p>

Класс Font используется для вывода текста. Как ни странно, вывод текстовой информации тоже является графической операцией, что немного смущает новичков. Из четырнадцати возможных перезагруженных версий конструктора класса в .NET Compact Framework доступно только три. Для создания объекта Font нужно определить семейство шрифтов, размер символов и стиль начертания. Пример использования шрифта приведен в листинге 6.5.

Листинг 6.5

Font myFont = new Font("Tahoma", 9, FontStyle.Italic);

g.DrawString("Карманный компьютер", myFont, myBrush, 14, 200);

<p>Класс Icon</p>

Объект Icon используется методом DrawIcon для отображения пиктограмм. Предположим, что необходимо использовать пиктограмму, хранящуюся в ресурсах программы. В таком случае понадобится код, приведенный в листинге 6.6.

Листинг 6.6

Icon myIcon = new Icon(Assembly.GetExecutingAssembly().

 GetManifestResourceStream("MyApp.Icon.ico"));

<p>Класс Bitmap</p>

Класс Bitmap предназначен для работы с растровыми изображениями. Программист может загрузить картинку в объект Bitmap из потока Stream, скопировать из существующего объекта Bitmap или загрузить из файла. Также можно создать новый пустой объект Bitmap, указав только размеры картинки. Ранее класс Bitmap уже использовался при создании текстурной кисти. Но при этом применялся родственный объект Image. В листинге 6.7 приведен новый вариант создания кисти.

Листинг 6.7

// выбираем рисунок

Bitmap myImage = new Bitmap(@"\Windows\alerts.bmp");

// создаем текстурную кисть

TextureBrush texture = new TextureBrush(myImage);

<p>Структура Point</p>

Структура Point содержит координаты X и Y для указания расположения некоей точки. В библиотеке .NET Compact Framework поддерживается только один конструктор для создания объекта Point, в котором указываются эти координаты. Структура Point часто используется в методах DrawPolygon и FillPolygon, которые будут рассматриваться позже.

<p>Структура Rectangle</p>

Структура Rectangle определяет размер и расположение прямоугольника. В мобильной версии используется только один конструктор, определяющий прямоугольник по координатам левого верхнего угла, ширине и высоте, что иллюстрирует код, приведенный в листинге 6.8.

Листинг 6.8

Rectangle myRectangle = new Rectangled(10, 10, 70, 210);

<p>Графические методы</p>

В предыдущих примерах уже были использованы несколько методов для работы с графикой. Но сейчас следует поговорить о них более подробно. Прежде всего нужно помнить, что для работы с графическими методами необходимо сначала создать объект Graphics. Существует несколько способов получения объекта Graphics, и они будут рассматриваться достаточно подробно

Метод CreateGraphics формы или элемента управления позволяет получить объект Graphics, предоставляющий возможность рисовать на форме или элементе управления. Этот метод демонстрируется в листинге 6.9.

Листинг 6.9

Graphics g = this.CreateGraphics();

Перейти на страницу:

Похожие книги