using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
using System.Drawing.Imaging;

namespace Transparent_CS
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            #if DEBUG
                MinimizeBox = false;
            #else       
                MinimizeBox = true;
            #endif
        }

        private void butAddImage_Click(object sender, EventArgs e)
        {
            using (Graphics g = CreateGraphics())
            {
                // получим картинки из ресурсов
                Bitmap imgCat = new Bitmap(Assembly.GetExecutingAssembly().GetManifestResourceStream("Transparent_CS.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);
            }
        }

        private void butImage2_Click(object sender, EventArgs e)
        {
            using (Graphics g = CreateGraphics())
            {
                // получим картинки из ресурсов
                Bitmap imgCat = new Bitmap(Assembly.GetExecutingAssembly().GetManifestResourceStream("Transparent_CS.mycat.jpg"));
                Bitmap imgName = new Bitmap(Assembly.GetExecutingAssembly().GetManifestResourceStream("Transparent_CS.catname.bmp"));

                // Очистим экран
                g.Clear(Color.White);

                // Выводим первую картинку
                g.DrawImage(imgCat, 0, 0,
                    new Rectangle(0, 0, imgCat.Width, imgCat.Height),
                    GraphicsUnit.Pixel);

                ImageAttributes attr = new ImageAttributes();
                // Устанавливаем красный цвет как прозрачный цвет 
                attr.SetColorKey(Color.Red, Color.Red);

                // Выводим вторую картинку с установленными атрибутами
                Rectangle dstRect = new Rectangle(50, 120, imgName.Width, imgName.Height);
                g.DrawImage(imgName, dstRect, 0, 0, imgName.Width, imgName.Height,
                    GraphicsUnit.Pixel, attr);
            }
        }
    }
}