Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework
- Название:Программирование КПК и смартфонов на .NET Compact Framework
- Автор:
- Жанр:
- Издательство:Питер
- Год:2007
- Город:Санкт-Петербург
- ISBN:978-5-91180-270-7
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework краткое содержание
Мобильные устройства все активнее вторгаются в нашу жизнь. Карманные компьютеры и смартфоны давно утратили статус дорогих игрушек и перекочевали в разряд необходимых устройств. Значит, для них необходимо создавать программное обеспечение. Так почему вы должны оставаться в стороне?
Прочитав эту книгу, вы получите знания, которые позволят вам уверенно создавать программы для карманных компьютеров и смартфонов. А огромное количество разнообразных примеров поможет быстро совершенствоваться и развиваться, обогащая свой опыт работы.
Книга предназначена для начинающих программистов.
Программирование КПК и смартфонов на .NET Compact Framework - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Класс Pen
Класс Pen
используется для создания пера, при помощи которого проводятся прямые и кривые линии. В отличие от полной версии .NET Framework, поддерживающей четыре перегруженных версии конструктора Pen
, .NET Compact Framework позволяет создавать перо только с помощью двух конструкторов. При вызове метода Pen(Color)
создается перо указанного цвета. Конструктор Pen(Color, Single)
позволяет создавать перо указанных цвета и ширины. Но второй вариант поддерживается только в .NET Compact Framework 2.0.
В листинге 6.1 приведен пример создания перьев синего и красного цветов. Затем при помощи перьев создаются две линии.
private void Form1_Paint(object sender, PaintEventArgs e) {
Graphics g = e.Graphics;
// Синее перо толщиной 1 пиксел
Pen bluePen = new Pen(Color.Blue);
// Красное перо толщиной 5 пикселов
Pen redFatPen = new Pen(Color.Red, 5);
g.DrawLine(bluePen, 10, 10, 230, 10);
g.DrawLine(redFatPen, 10, 20, 230, 20);
}
Класс Brush
Класс Brush
является абстрактным классом для создания кистей, с помощью которых можно рисовать фигуры и текст на графической поверхности. Библиотека .NET Compact Framework поддерживает классы SolidBrush
и TextureBrush
. К сожалению, класс LinearGradientBrush
, позволяющий рисовать красивые фигуры, в настоящее время не поддерживается.
Класс SolidBrush
При создании объекта SolidBrush
нужно просто указать цвет, который будет использоваться для отображения фигур. Чтобы сменить цвет кисти, достаточно указать новый цвет в свойстве Color
. В листинге 6.2 приведен код, который позволяет нарисовать зеленый круг и желтый прямоугольник.
private void Form1_Paint(object sender, PaintEventArgs e) {
Graphics g = e.Graphics;
// Создаем кисть зеленого цвета
SolidBrush myBrush = new SolidBrush(Color.Green);
// Рисуем закрашенный круг
g.FillEllipse(myBrush, 10, 30, 30, 30);
// Меняем цвет кисти на желтый
myBrush.Color = Color.Yellow;
// Рисуем закрашенный прямоугольник
g.FillRectangle(myBrush, 50, 30, 50, 25);
}
Класс TextureBrush
Класс TextureBrush
позволяет создавать текстурную кисть. Подобная текстурная кисть позволяет не рисовать однородным цветом, а применять текстурное заполнение отображаемых графических примитивов. Использование подобной кисти позволяет добиваться красивых эффектов. В листинге 6.3 приведен пример использования текстурной кисти с использованием изображения, входящего в состав Windows Mobile 2003.
private void Form1_Paint(object sender, PaintEventArgs e) {
Graphics g = e.Graphics;
// выбираем рисунок
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
содержит координаты X и Y для указания расположения некоей точки. В библиотеке .NET Compact Framework поддерживается только один конструктор для создания объекта 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();
Метод FromImage
создает новый объект Graphics
из заданного объекта Image
. При помощи этого метода можно изменять существующее изображение или создавать новое изображение. Причем обработанное изображение можно потом сохранить в графическом файле. Использование метода иллюстрирует код, приведенный в листинге 6.10.
Интервал:
Закладка: