Чтение онлайн

на главную - закладки

Жанры

Программирование мобильных устройств на платформе .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;

 //Показать результат в виде растрового изображения

Поделиться:
Популярные книги

Газлайтер. Том 4

Володин Григорий
4. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 4

Император Пограничья 1

Астахов Евгений Евгеньевич
1. Император Пограничья
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Император Пограничья 1

Наномашины, наследник! Том 9

Новиков Николай Васильевич
9. Первый среди карапузов
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Наномашины, наследник! Том 9

Камень. Книга 3

Минин Станислав
3. Камень
Фантастика:
фэнтези
боевая фантастика
8.58
рейтинг книги
Камень. Книга 3

Бастард Императора. Том 4

Орлов Андрей Юрьевич
4. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 4

Последний Паладин. Том 4

Саваровский Роман
4. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 4

Моров. Том 4

Кощеев Владимир
3. Моров
Фантастика:
фэнтези
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Моров. Том 4

Зодчий. Книга VIII

Погуляй Юрий Александрович
8. Зодчий Империи
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
6.25
рейтинг книги
Зодчий. Книга VIII

Тринадцатый V

NikL
5. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый V

Воин-Врач

Дмитриев Олег
1. Воин-Врач
Фантастика:
попаданцы
альтернативная история
историческое фэнтези
6.00
рейтинг книги
Воин-Врач

Законы Рода. Том 9

Мельник Андрей
9. Граф Берестьев
Фантастика:
городское фэнтези
попаданцы
аниме
дорама
фэнтези
фантастика: прочее
5.00
рейтинг книги
Законы Рода. Том 9

Мастер порталов

Лисина Александра
8. Гибрид
Фантастика:
боевая фантастика
попаданцы
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
Мастер порталов

Древесный маг Орловского княжества

Павлов Игорь Васильевич
1. Орловское княжество
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества

Товарищ "Чума" 10

lanpirot
10. Товарищ "Чума"
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Товарищ Чума 10