private void openFileDialog_FileOk(object sender, CancelEventArgs e)
        {
            pictureBox.Visible = true;
            Bitmap image = null;

            string format = Path.GetExtension(openFileDialog.FileName);

            if (format == ".pll")
            {
                var file = PllFileFormat.Load(openFileDialog.FileName);
                image = new Bitmap(file.Image);
            }

            if (format != ".pll")
            {
                image = new Bitmap(openFileDialog.FileName);
            }

            var pic1 = new Picture(image);
            var transparentBitmap = new Bitmap(image.Width, image.Height, PixelFormat.Format32bppArgb);

            transparentBitmap.MakeTransparent();
            var pic2 = new Picture(transparentBitmap);

            Layer layer = new Layer("Слой 0", pic1, pic2);

            layers            = new Layers(layer);
            layers.SomeEvent += SomeEvent;

            history            = new History();
            history.SomeEvent += SomeEvent;
            history.Add("Открыть");
        }
        private void saveAs_MenuItem_Click(object sender, EventArgs e)
        {
            var result = saveFileDialog.ShowDialog();

            if (result == DialogResult.OK)
            {
                if (Layers.CurrentLayer != null)
                {
                    Bitmap image = (Bitmap)Layers.CurrentLayer.Foreground.EditImage.Clone();

                    ImageFormat format = null;

                    switch (saveFileDialog.FilterIndex)
                    {
                    case 1:
                        var pll = new PllFileFormat(Environment.UserName,
                                                    Layers.CurrentLayer.Foreground.EditImage);
                        PllFileFormat.Save(saveFileDialog.FileName, pll);
                        break;

                    case 2:
                        format = ImageFormat.Jpeg;
                        break;

                    case 3:
                        format = ImageFormat.Bmp;
                        break;

                    case 4:
                        format = ImageFormat.Tiff;
                        break;

                    default:
                        return;
                    }

                    try
                    {
                        if (saveFileDialog.FilterIndex != 1)
                        {
                            image.Save(saveFileDialog.FileName, format);
                        }
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Изображение без изменений нельзя сохранить");
                    }
                }
            }
        }
        private void save_MenuItem_Click(object sender, EventArgs e)
        {
            string format = Path.GetExtension(openFileDialog.FileName);

            if (format != ".pll")
            {
                if (Layers.CurrentLayer != null)
                {
                    Layers.CurrentLayer.Foreground.EditImage.Save(openFileDialog.FileName);
                }
            }
            else
            {
                var pll = new PllFileFormat(Environment.UserName,
                                            Layers.CurrentLayer.Foreground.EditImage);
                PllFileFormat.Save(openFileDialog.FileName, pll);
            }
        }