Александр Климов - Программирование КПК и смартфонов на .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.
Интервал:
Закладка: