Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework

Здесь есть возможность читать онлайн «Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2007, ISBN: 2007, Издательство: Питер, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Программирование КПК и смартфонов на .NET Compact Framework: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Программирование КПК и смартфонов на .NET Compact Framework»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Мобильные устройства все активнее вторгаются в нашу жизнь. Карманные компьютеры и смартфоны давно утратили статус дорогих игрушек и перекочевали в разряд необходимых устройств. Значит, для них необходимо создавать программное обеспечение. Так почему вы должны оставаться в стороне?
Прочитав эту книгу, вы получите знания, которые позволят вам уверенно создавать программы для карманных компьютеров и смартфонов. А огромное количество разнообразных примеров поможет быстро совершенствоваться и развиваться, обогащая свой опыт работы.
Книга предназначена для начинающих программистов.

Программирование КПК и смартфонов на .NET Compact Framework — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Программирование КПК и смартфонов на .NET Compact Framework», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

///endAngle - Значение конечного угла

///

private void FillPie(Graphics g, SolidBrush solidBrush, int x, int y,

int width, int height, double startAngle, double endAngle) {

double[] xAngle = new double[12];

double[] yAngle = new double[12];

double angleIncrement = (endAngle - startAngle) / 10;

double angle = startAngle;

for (int i = 0; i <= 10; i++) {

xAngle[i] = x + (Math.Cos(angle * (Math.PI / 180)) * (width / 2));

yAngle[i] = y + (Math.Sin(angle * (Math.PI / 180)) * (height / 2));

angle += angleIncrement;

}

xAngle[11] = x + (Math.Cos(endAngle * (Math.PI / 180)) * (width / 2));

yAngle[11] = y + (Math.Sin(endAngle * (Math.PI / 180)) * (height / 2));

Point[] anglePoints = {

new Point(x, y),

new Point((int)xAngle[0], (int)yAngle[0]),

new Point((int)xAngle[1], (int)yAngle[1]),

new Point((int)xAngle[2], (int)yAngle[2]),

new Point((int)xAngle[3], (int)yAngle[3]),

new Point((int)xAngle[4], (int)yAngle[4]),

new Point((int)xAngle[5], (int)yAngle[5]),

new Point((int)xAngle[6], (int)yAngle[6]),

new Point((int)xAngle[7], (int)yAngle[7]),

new Point((int)xAngle[8], (int)yAngle[8]),

new Point((int)xAngle[9], (int)yAngle[9]),

new Point((int)xAngle[10], (int)yAngle[10]),

new Point((int)xAngle[11], (int)yAngle[11])

};

g.FillPolygon(solidBrush, anglePoints);

}

///



/// Рисуем границы сектора

///g - Объект Graphics

///pen - Перо для рисования сегмента

///x,y - Центр сегмента

///width - Ширина сегмента

///height - Высота

///startAngle - Значение начального угла

///endAngle - Значение конечного угла

///

private void DrawPie(Graphics g, Pen pen, int x, int y,

int width, int height, double startAngle, double endAngle) {

double[] xAngle = new double[12];

double[] yAngle = new double[12];

double angleIncrement = (endAngle - startAngle) / 10;

double angle = startAngle;

for (int i = 0; i <= 10; i++) {

xAngle[i] = x + (Math.Cos(angle * (Math.PI / 180)) * (width /2));

yAngle[i] = y + (Math.Sin(angle * (Math.PI / 180)) * (height / 2));

angle += angleIncrement;

}

xAngle[11] = x + (Math.Cos(endAngle * (Math.PI / 180)) * (width / 2));

yAngle[11] = y + (Math.Sin(endAngle * (Math.PI / 180)) * (height /2));

Point[] anglePoints = {

new Point(x, y),

new Point((int)xAngle[0], (int)yAngle[0]),

new Point((int)xAngle[1], (int)yAngle[1]),

new Point((int)xAngle[2], (int)yAngle[2]),

new Point((int)xAngle[3], (int)yAngle[3]),

new Point((int)xAngle[4], (int)yAngle[4]),

new Point((int)xAngle[5], (int)yAngle[5]),

new Point((int)xAngle[6], (int)yAngle[6]),

new Point((int)xAngle[7], (int)yAngle[7]),

new Point((int)xAngle[8], (int)yAngle[8]),

new Point((int)xAngle[9], (int)yAngle[9]),

new Point((int)xAngle[10], (int)yAngle[10]),

new Point((int)xAngle[11], (int)yAngle[11])

};

g.DrawPolygon(pen, anglePoints);

}

private void Form1_Paint(object sender, PaintEventArgs e) {

// Выводим несколько секторов на экран

DrawPie(e.Graphics, new Pen(Color.Red), 130, 165, 100, 100, 0, 45);

FillPie(e.Graphics, new SolidBrush(Color.Green),

120, 160, 100, 100, 46, 90);

FillPie(e.Graphics, new SolidBrush(Color.Yellow),

120, 160, 100, 100, 91, 120);

FillPie(e.Graphics, new SolidBrush(Color.Blue),

120, 160, 100, 100, 121, 260);

FillPie(e.Graphics, new SolidBrush(Color.Red),

120, 160, 100, 100, 261, 360);

}

Результат работы этой программы показан на рис. 6.2.

Рис 62 Создание секторов Создание фонового рисунка для формы К сожалению - фото 40

Рис. 6.2. Создание секторов

Создание фонового рисунка для формы

К сожалению, .NET Compact Framework не поддерживает свойство BackgroundImage, которое создает фоновый рисунок для формы. Но каждый программист может восполнить данный пробел, переопределяя метод OnPaint.

Нужно создать новый проект и разместить на форме какой-нибудь элемент управления, например кнопку. Кнопка не будет выполнять никаких функций. Она потребуется лишь для демонстрации технологии. Также надо добавить в проект изображение, которое будет использоваться в качестве фона для формы. В нашем примере картинка будет внедрена в программу как ресурс, хотя можно загрузить ее из обычного графического файла. Чтобы все работало так, как запланировано, необходимо переопределить метод OnPaint(). Новый код метода приведен в листинге 6.16.

Листинг 6.16

protected override void OnPaint(PaintEventArgs e) {

// получим картинку из ресурсов Bitmap

backgroundImage = new Bitmap(Assembly.GetExecutingAssembly().

GetManifestResourceStream("BackgroundImageCS.sochicat.jpg"));

e.Graphics.DrawImage(backgroundImage, this.ClientRectangle,

new Rectangle(0, 0, backgroundImage.Width, backgroundImage.Height),

GraphicsUnit.Pixel);

}

После запуска программы можно будет увидеть, что форма имеет фоновый рисунок, а кнопка расположена поверх фона (рис. 6.3).

Рис 63 Заполнение фона формы своим рисунком Копирование рисунка Библиотека - фото 41

Рис. 6.3. Заполнение фона формы своим рисунком

Копирование рисунка

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Программирование КПК и смартфонов на .NET Compact Framework»

Представляем Вашему вниманию похожие книги на «Программирование КПК и смартфонов на .NET Compact Framework» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Гайдар Магдануров - ASP.NET MVC Framework
Гайдар Магдануров
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
Александр Климов - Реестр Windows 7
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
libcat.ru: книга без обложки
Александр Климов
Александр Климов - Гадания
Александр Климов
Отзывы о книге «Программирование КПК и смартфонов на .NET Compact Framework»

Обсуждение, отзывы о книге «Программирование КПК и смартфонов на .NET Compact Framework» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x