Чтение онлайн

ЖАНРЫ

Программирование КПК и смартфонов на .NET Compact Framework

Климов Александр Петрович

Шрифт:

Класс Color

При создании перьев или кистей применялся класс

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);

Класс Font

Класс

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

Листинг 6.5

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

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

Класс Icon

Объект

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

Листинг 6.6

Icon myIcon = new Icon(Assembly.GetExecutingAssembly.

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

Класс Bitmap

Класс

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

Листинг 6.7

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

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

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

TextureBrush texture = new TextureBrush(myImage);

Структура Point

Структура

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

Структура Rectangle

Структура

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

Листинг 6.8

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

Графические методы

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

Graphics
. Существует несколько способов получения объекта
Graphics
, и они будут рассматриваться достаточно подробно

Метод

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

Листинг 6.9

Graphics g = this.CreateGraphics;

Метод

FromImage
создает новый объект
Graphics
из заданного объекта
Image
. При помощи этого метода можно изменять существующее изображение или создавать новое изображение. Причем обработанное изображение можно потом сохранить в графическом файле. Использование метода иллюстрирует код, приведенный в листинге 6.10.

Листинг 6.10

Bitmap bmp = new Bitmap(150, 90);

Graphics g = Graphics.FromImage(bmp);

Метод

OnPaint
класса
Form
получает в качестве параметра объект
PaintEventArgs
. Одним из членов данного объекта является объект
Graphics
, связанный с формой. Переопределяя метод
OnPaint
класса
Form
, можно получить доступ к объекту
Graphics
из параметра
PaintEventArgs
, после чего можно работать с графикой в клиентской области формы. Вызов этого метода показан в листинге 6.11.

Листинг 6.11

Protected override void OnPaint(PaintEventArgs e) {

 Graphics g = e.Graphics;

}

Получив любым из перечисленных способов доступ к объекту

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

Метод

DrawImage
рисует заданный объект
Image
в указанной позиции экрана. Всего существует четыре перегруженные версии метода. Но в самой простой его версии достаточно указать координаты выводимой картинки, как показано в листинге 6.12.

Листинг 6.12

g.DrawImage(myImage, 10, 10);

С помощью метода

DrawImage
можно выводить на экран не все изображение, а только его часть. В этом случае надо указать размеры прямоугольника, который определяет размеры выводимой области картинки, как показано в листинге 6.13. В примере используется перечисление
GraphicsUnit.Pixel
, которое позволяет указывать единицы измерения.

Листинг 6.13

Bitmap myBMP = new Bitmap(@"\windows\banner.gif");

Поделиться с друзьями: