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;
//Показать результат в виде растрового изображения
pictureBox1.Image = m_backgroundBitmap;
}
Встраивание изображений в виде ресурсов приложений