Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:
m_foregroundBitmap = new Bitmap(bitmap_dx, bitmap_dy);
}
//Делаем всю битовую карту синей
System.Drawing.Graphics gfx;
gfx = System.Drawing.Graphics.FromImage(m_foregroundBitmap);
gfx.Clear(System.Drawing.Color.Blue);
//Рисуем несколько фигур желтым
System.Drawing.Brush yellowBrush;
yellowBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Yellow);
gfx.FillEllipse(yellowBrush, 130, 4, 40, 70);
gfx.FillRectangle(yellowBrush, 5, 20, 110, 30);
gfx.FillEllipse(yellowBrush, 60, 75, 130, 20);
//Очистить
yellowBrush.Dispose;
gfx.Dispose;
}
//-----------------------------------------------------------------
//Устанавливает
размеры и местоположение PictureBox с левой стороны
//-----------------------------------------------------------------
private void SetPictureBoxDimensions {
pictureBox1.Width = bitmap_dx;
pictureBox1.Height = bitmap_dy;
pictureBox1.Left = 20;
}
//---------------------------------------------------------------------
//ОБРАБОТЧИК СОБЫТИЙ: Отобразить изображение ЗАДНЕГО ПЛАНА в PictureBox
//---------------------------------------------------------------------
private void buttonDrawBackground_Click(object sender, System.EventArgs e) {
SetPictureBoxDimensions;
CreateBackground;
pictureBox1.Image = m_backgroundBitmap;
}
//-----------------------------------------------------------------------
//ОБРАБОТЧИК СОБЫТИЙ: Отобразить изображение ПЕРЕДНЕГО ПЛАНА в PictureBox
//-----------------------------------------------------------------------
private void buttonDrawForeground_Click(object sender, System.EventArgs e) {
SetPictureBoxDimensions;
CreateForeground;
pictureBox1.Image = m_foregroundBitmap;
}
//-----------------------------------------------------------------------
//ОБРАБОТЧИК СОБЫТИЙ: Наложить изображение ПЕРЕДНЕГО ПЛАНА на изображение
//
ЗАДНЕГО ПЛАНА. Использовать МАСКУ ПРОЗРАЧНОСТИ, чтобы желтый
// цвет в изображении ПЕРЕДНЕГО ПЛАНА стал прозрачным и через
// него можно было видеть содержимое изображения
// ЗАДНЕГО ПЛАНА
//-----------------------------------------------------------------------
private void buttonDrawBackgroundPlusForeground_Click(object sender, System.EventArgs e) {
SetPictureBoxDimensions;
CreateForeground;
CreateBackground;
//Получить объект Graphics изображения ЗАДНЕГО ПЛАНА, поскольку
//именно поверх него мы собираемся рисовать. System.Drawing.Graphics gfx;
gfx = System.Drawing.Graphics.FromImage(m_backgroundBitmap);
//-------------------------------------------------------
//Создать класс ImageAttributes. Этот класс позволяет нам
//задать прозрачный цвет на наших операций рисования
//-------------------------------------------------------
System.Drawing.Imaging.ImageAttributes trasparencyInfo = new System.Drawing.Imaging.ImageAttributes;
//----------------------
//Задать прозрачный цвет
//----------------------
trasparencyInfo.SetColorKey(System.Drawing.Color.Yellow, System.Drawing.Color.Yellow);
//Задать прямоугольник рисунка
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(0, 0, m_backgroundBitmap.Width, m_backgroundBitmap.Height);
//-----------------------------------------------------------------------
//Нарисовать изображение ПЕРЕДНЕГО ПЛАНА поверх изображения ЗАДНЕГО ПЛАНА
//и использовать прозрачный цвет в ImageAttributes для создания окна
//прозрачности, через которое виден задний план
//-----------------------------------------------------------------------
gfx.DrawImage(m_foregroundBitmap, rect, 0, 0, m_foregroundBitmap.Width,
m_foregroundBitmap.Height, System.Drawing.GraphicsUnit.Pixel, trasparencyInfo);
//Очистить
gfx.Dispose;
//Показать результат в виде растрового изображения
Поделиться:
Популярные книги
Страх
2. Дети Арбата
Проза:
историческая проза
9.49
рейтинг книги
Дважды одаренный. Том VIII
8. Дважды одаренный
Фантастика:
боевая фантастика
альтернативная история
аниме
попаданцы
5.00
рейтинг книги
Мастер Трав III
3. Мастер Трав
Фантастика:
фэнтези
рпг
фантастика: прочее
попаданцы
5.75
рейтинг книги
Старый, но крепкий 2
2. Культивация без насилия
Фантастика:
рпг
уся
эпическая фантастика
5.00
рейтинг книги
Двойник Короля
1. Двойник Короля
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Тринадцатый XIII
13. Видящий смерть
Фантастика:
городское фэнтези
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Лекарь Империи 2
2. Лекарь Империи
Фантастика:
городское фэнтези
аниме
дорама
фэнтези
попаданцы
5.00
рейтинг книги
Хозяин Стужи 7
7. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Потомок бога
1. Локки
Фантастика:
попаданцы
альтернативная история
аниме
сказочная фантастика
5.00
рейтинг книги
Твое сердце будет разбито. Книга 1
Любовные романы:
современные любовные романы
5.50
рейтинг книги
Мой муж – чудовище! Изгнанная жена дракона
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Эволюционер из трущоб. Том 5
5. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Изгой Проклятого Клана. Том 3
3. Изгой
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 4
17. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00