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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

e.Graphics.DrawImage(bmp, 0, 50);

bmp.Dispose();

}

private void MakeMoreBlue(Bitmap bmp) {

// Задаём формат данных о цвете для каждой точки изображения

PixelFormat pxf = PixelFormat.Format24bppRgb;

// Блокируем изображение в памяти

Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);

BitmapData bmpData = bmp.LockBits(rect, ImageLockMode.ReadWrite, pxf);

// Получаем адрес первой строки развертки

IntPtr ptr = bmpData.Scan();

// Массив, содержащий байты изображения

int numBytes = bmp.Width * bmp.Height * 3;

byte[] rgbValues = new byte[numBytes];

// Копируем значения RGB в массив

Marshal.Copy(ptr, rgbValues, 0, numBytes);

// Модифицируем изображение, устанавливая

// синий цвет для каждой точки в картинке

for (int counter = 0; counter < rgbValues.Length; counter += 6)

rgbValues[counter] = 255;

// Копируем значения RGB обратно в изображение

Marshal.Сору(rgbValues, 0, ptr, numBytes);

// Разблокируем биты в памяти

bmp.UnlockBits(bmpData);

}

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

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

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

Весь код программы сводится к обработке событий мыши MouseDown, MouseMoveи MouseUp. В принципе, приемы создания графических эффектов ничем не отличаются от соответствующих приемов, применяемых на обычных персональных компьютерах. Я взял два примера из своей книги «Занимательное программирование на Visual Basic .NET» и перенес код в проект с учетом синтаксиса языка С#, что иллюстрирует листинг 6.22.

Листинг 6.22

private int x_md, y_md;

Pen myPen = new Pen(Color.LightBlue);

private bool bPaint;

Graphics g;

private Pen erasePen;

private Point ptsStart;

private Point ptsPrevious;

private Point ptsCurrent;

private void Form1_MouseDown(object sender, MouseEventArgs e) {

// Начинаем рисование

bPaint = true;

if (mnuLines.Checked) {

ptsStart.X = e.X;

ptsStart.Y = e.Y;

ptsPrevious = ptsStart;

}

if (mnuPaint.Checked) {

// координаты стилуса при нажатии

x_md = e.X;

y_md = e.Y;

}

}

private void Form1_MouseMove(object sender, MouseEventArgs e) {

if (bPaint) {

if (mnuLines.Checked) {

ptsCurrent.X = e.X;

ptsCurrent.Y = e.Y;

g = CreateGraphics();

g.DrawLine(erasePen, ptsStart.X, ptsStart.Y, ptsPrevious.X, ptsPrevious.Y);

g.DrawLine(myPen. ptsStart.X, ptsStart.Y, ptsCurrent.X, ptsCurrent.Y);

ptsPrevious = ptsCurrent;

g.Dispose();

}

if (mnuPaint.Checked) {

g = CreateGraphics();

int x_mm = e.X;

int y_mm = e.Y;

g.DrawLine(myPen, x_md, y_md, x_mm, y_mm);

x_md = x_mm;

y_md = y_mm;

g.Dispose();

}

}

}

private void Form1_MouseUp(object sender, MouseEventArgs e) {

bPaint = false;

}

private void mnuClear_Click(object sender, EventArgs e) {

g = CreateGraphics();

g.Clear(this.BackColor);

g.Dispose();

}

private void Form1_Load(object sender, EventArgs e) {

erasePen = new Pen(this.BackColor);

}

private void mnuPaint_Click(object sender, EventArgs e) {

mnuPaint.Checked = !mnuPaint.Checked;

mnuLines.Checked = !mnuLines.Checked;

}

private void mnuGreenPen_Click(object sender, EventArgs e) {

myPen.Color = Color.Green;

}

private void mnuRedPen_Click(object sender, EventArgs e) {

myPen.Color = Color.Red;

}

На рис. 6.9 показано, как выглядит созданный графический редактор в работе.

Рис 69 Простейший графический редактор Дополнительные материалы Если нужно - фото 47

Рис. 6.9. Простейший графический редактор

Дополнительные материалы

Если нужно ознакомиться с дополнительными материалами по программированию графики, то стоит обратиться к статьям документации MSDN. Например, в статье «How to: Display a Gradient Fill» рассказывается том, как раскрасить элемент градиентной заливкой. Также в документации MSDN имеется статья уже известного нам Алекса Яхнина «Creating a Microsoft .NET Compact Framework-based Animation Control», в которой рассказывается о создании элемента управления, способного воспроизводить анимированное изображение, создавая его на основе серии картинок. Тем, кто планирует писать приложения для устройств под управлением Windows Mobile 5.0, стоит обратить внимание на технологию Windows Mobile DirectX and Direct3D, которая дает дополнительные возможности для работы с графикой.

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

Интервал:

Закладка:

Сделать

Похожие книги на «Программирование КПК и смартфонов на .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