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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Библиотека .NET Compact Framework 1.0 не поддерживает метод System.Drawing.Image.Clone, позволяющий создать точную копию картинки. Это ограничение легко обходится с помощью создания собственных методов. Кроме того, можно расширить возможности метода и добавить функциональность, позволяющую копировать часть картинки. Соответствующий код приведен в листинге 6.17.

Листинг 6.17

// Копируем всю картинку

protected Bitmap CopyBitmap(Bitmap source) {

return new Bitmap(source);

}

// Копируем часть картинки

protected Bitmap CopyBitmap(Bitmap source, Rectangle part) {

Bitmap bmp = new Bitmap(part.Width, part.Height);

Graphics g = Graphics.FromImage(bmp);

g.DrawImage(source, 0, 0, part, GraphicsUnit.Pixel);

g.Dispose();

return bmp;

}

private void button1_Click(object sender, EventArgs e) {

Graphics g = CreateGraphics();

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

// Половина ширины картинки

int left = myBMP.Size.Width / 2;

// Копируем всю картинку Bitmap

clone = CopyBitmap(myBMP);

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

Bitmap part =

CopyBitmap(myBMP, new Rectangle(0, 0, left, myBMP.Size.Height));

// Выводим три картинки по вертикали:

// источник, копию и копию левой части

int y = 10;

// картинка-источник

g.DrawImage(myBMP, 10, y);

y += myBMP.Height + 10;

// картинка-копия

g.DrawImage(clone, 10, y);

y += clone.Height + 10;

// копия левой части картинки

g.DrawImage(part, 10, y);

y += part.Height + 10;

g.Dispose();

}

private void button2_Click(object sender, EventArgs e) {

Graphics g = CreateGraphics();

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

g.Clear(Color.White);

int left = myBMP.Size.Width / 2; // Копия картинки

Bitmap clone = (Bitmap)myBMP.Clone();

int y = 10;

g.DrawImage(myBMP, 10, y);

y += myBMP.Height + 10;

g.DrawImage(clone, 10, y);

y += clone.Height + 10;

g.Dispose();

}

В этом примере создаются две перегруженные версии метода CopyImage. При помощи этого метода можно копировать картинку или ее часть. Для сравнения в примере было показано, как можно скопировать картинку с помощью метода Clone, доступного в .NET Compact Framework 2.0. Результат работы соответствующего приложения показан на рис. 6.4.

Рис 64 Копирование картинки разными способами Поддержка прозрачности - фото 42

Рис. 6.4. Копирование картинки разными способами

Поддержка прозрачности

Библиотека .NET Compact Framework позволяет использовать прозрачный цвет, но при этом налагает определенные ограничения на эту возможность. Например, в библиотеке нет такого удобного метода, как MakeTransparent. Но разработчик может задать прозрачный цвет при помощи метода SetColorKeyкласса ImageAttributes. При этом разрешается использовать один и тот же цвет для минимального и максимального значений цветового ключа в версии метода ImageAttributes.SetColorKey(Color.Color).

ПРИМЕЧАНИЕ

Вторая перегруженная версия метода ImageAttributes.SetColorKey(Color, Color, ColorAdjustType) в .NET Compact Framework не поддерживается.

Используя прозрачный цвет, можно добиться красивых результатов при наложении картинки на картинку. Этот механизм стоит продемонстрировать на конкретном примере.

Для тестового приложения были подготовлены две картинки. Первое изображение является фотографией моего кота, а во втором хранится небольшая табличка с его именем, сделанная за несколько секунд в стандартной программе Paint. При создании таблички фон был залит красным цветом, а для текстовой строки был выбран другой тон. Затем оба рисунка были добавлены в проект как ресурсы.

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

Основной код приложения приведен в листинге 6.18.

Листинг 6.18

private void butAddImage_Click(object sender, EventArgs e) {

Graphics g = CreateGraphics();

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

Bitmap imgCat = new Bitmap(Assembly.GetExecutingAssembly().

GetManifestResourceStream("TransparentCS.mycat.jpg"));

Bitmap imgName = new Bitmap(Assembly.GetExecutingAssembly().

GetManifestResourceStream("Transparent_CS.catname.bmp"));

g.DrawImage(imgCat, 0, 0,

new Rectangle(0, 0, imgCat.Width, imgCat.Height), GraphicsUnit.Pixel);

g.DrawImage(imgName, 50, 120,

new Rectangle(0, 0, imgName.Width.imgName.Height), GraphicsUnit.Pixel);

g.Dispose();

}

private void butImage2_Click(object sender, EventArgs e) {

Graphics g = CreateGraphics();

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

Интервал:

Закладка:

Сделать

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