Ejemplo n.º 1
0
        // загрузка изображения в рабочую область программы
        private void изФайлаToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // вызываем диалог подтверждения
            DialogResult reslt = MessageBox.Show("В данный момент проект уже начат, сохранить изменения перед закрытием проекта?", "Внимание!", MessageBoxButtons.YesNoCancel);

            // если отказ пользователя
            switch (reslt)
            {
            case DialogResult.No:
            {
                // просто создаем объект подгружая изображения
                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    //проверяем существование слоя
                    if (System.IO.File.Exists(openFileDialog1.FileName))
                    {
                        // загружаем изображение в экземпляр класса Bitmap
                        Bitmap ToLoad = new Bitmap(openFileDialog1.FileName);

                        // если размер изображения не корректен
                        if (ToLoad.Width > AnT.Width || ToLoad.Height > AnT.Height)
                        {
                            // сообщаем пользователю об ошибке
                            MessageBox.Show("Извините, но размер изображения превышает размеры области рисования", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                            // возвращаемся и функции
                            return;
                        }

                        // если размер был меньше области редактирования программы

                        // создаем новый экземпляр класса anEngine
                        ProgrammDrawingEngine = new anEngine(AnT.Width, AnT.Height, AnT.Width, AnT.Height);
                        // копируем изображение в нижний левый угол рабочей области
                        ProgrammDrawingEngine.SetImageToMainLayer(ToLoad);

                        // очищаем информацию о добавляемых ранее слоях
                        Слои.Items.Clear();
                        // по новой инициализируем нулевой слой:

                        // текущий активный слой
                        ActiveLayer = 0;
                        //счетчик слоев
                        LayersCount = 1;
                        // счетчик всех создаваемых слоев для генерации имен
                        AllLayrsCount = 1;
                        // добавление элемента, отвечающего за управления главным слоем в объект LayersControl
                        Слои.Items.Add("Главный слой", true);
                    }
                }
                break;
            }

            case DialogResult.Cancel:
            {
                // возвращаемся
                return;
            }



            case DialogResult.Yes:
            {
                // открываем окно сохранения файла, и если имя файла указано и DialogResult вернуло сигнал об успешном нажатии кнопки ОК
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    // получаем результирующее изображение слоя
                    Bitmap ToSave = ProgrammDrawingEngine.GetFinalImage();

                    // сохраняем используя имя файла указанное в диалоговом окне сохранения файла
                    ToSave.Save(saveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Jpeg);

                    //сохранили - начинаем новый проект


                    // просто создаем проект подгружая изображения
                    if (openFileDialog1.ShowDialog() == DialogResult.OK)
                    {
                        // проверяем существование файла
                        if (System.IO.File.Exists(openFileDialog1.FileName))
                        {
                            // загружаем изображение в экземпляр класса Bitmap
                            Bitmap ToLoad = new Bitmap(openFileDialog1.FileName);

                            // если размер изображения не корректен
                            if (ToLoad.Width > AnT.Width || ToLoad.Height > AnT.Height)
                            {
                                // сообщаем пользователю об ошибке
                                MessageBox.Show("Извините, но размер изображения превышает размеры области рисования", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                                // возвращаемся и функции
                                return;
                            }

                            //если размер области программирование не равен

                            // создаем новый экземпляр класса anEngine
                            ProgrammDrawingEngine = new anEngine(AnT.Width, AnT.Height, AnT.Width, AnT.Height);
                            // копируем изображение в нижний левый угол рабочей области
                            ProgrammDrawingEngine.SetImageToMainLayer(ToLoad);

                            // очищаем информацию о добавляемых ранее слоях
                            Слои.Items.Clear();
                            // по новой инициализируем нулевой слой:

                            // текущий активный слой
                            ActiveLayer = 0;
                            // счетчик слоев
                            LayersCount = 1;
                            // счетчик всех создаваемых слоев для генерации имен
                            AllLayrsCount = 1;
                            // добавление элемента, отвечающего за управления главным слоем в объект LayersControl
                            Слои.Items.Add("Главный слой", true);
                        }
                    }
                    break;
                }
                else
                {
                    return;
                }
            }
            }
        }
Ejemplo n.º 2
0
        private void изФайлаToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DialogResult reslt = MessageBox.Show("В данный момент проект уже начат, сохранить изменения перед закрытием проекта?", "Внимание!", MessageBoxButtons.YesNoCancel);


            switch (reslt)
            {
            case DialogResult.No:
            {
                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    if (System.IO.File.Exists(openFileDialog1.FileName))
                    {
                        Bitmap ToLoad = new Bitmap(openFileDialog1.FileName);

                        if (ToLoad.Width > AnT.Width || ToLoad.Height > AnT.Height)
                        {
                            MessageBox.Show("Извините, но размер изображения превышает размеры области рисования", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Stop);

                            return;
                        }



                        ProgrammDrawingEngine = new anEngine(AnT.Width, AnT.Height, AnT.Width, AnT.Height);

                        ProgrammDrawingEngine.SetImageToMainLayer(ToLoad);


                        Слои.Items.Clear();


                        //текущий активный слой
                        ActiveLayer = 0;
                        //счетчик
                        LayersCount   = 1;
                        AllLayrsCount = 1;

                        Слои.Items.Add("Главный слой", true);
                    }
                }
                break;
            }

            //20.04.2018
            case DialogResult.Cancel:
            {
                //возвращаемся
                // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // =++=++=++=++= \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\
                return;
            }

            case DialogResult.Yes:
            {
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    Bitmap ToSave = ProgrammDrawingEngine.GetFinalImage();


                    ToSave.Save(saveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Jpeg);



                    if (openFileDialog1.ShowDialog() == DialogResult.OK)
                    {
                        if (System.IO.File.Exists(openFileDialog1.FileName))
                        {
                            Bitmap ToLoad = new Bitmap(openFileDialog1.FileName);


                            if (ToLoad.Width > AnT.Width || ToLoad.Height > AnT.Height)
                            {
                                MessageBox.Show("Извините, но размер изображения превышает размеры области рисования", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Stop);

                                return;
                            }


                            ProgrammDrawingEngine = new anEngine(AnT.Width, AnT.Height, AnT.Width, AnT.Height);

                            ProgrammDrawingEngine.SetImageToMainLayer(ToLoad);


                            Слои.Items.Clear();



                            //СКОПИРОВАТЬ СЧЕТЧИК СЛОЕВ\\!!!!!!
                            //текущий активный слой
                            ActiveLayer = 0;
                            //счетчик слоев
                            LayersCount = 1;
                            //счетчик всех создаваемых слоев для генерации имен
                            AllLayrsCount = 1;
                            //добавление элемента, отвечающего за управления главным слоем в объект LayersControl
                            Слои.Items.Add("Главный слой", true);
                        }
                    }
                    break;
                }
                else
                {
                    return;
                }
            }
            }
        }
Ejemplo n.º 3
0
        private void изФайлаToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DialogResult reslt = MessageBox.Show("В данный момент проект уже начат, сохранить изменения перед закрытием проекта?", "Внимание!", MessageBoxButtons.YesNoCancel);


            switch (reslt)
            {
            case DialogResult.No:
            {
                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    if (System.IO.File.Exists(openFileDialog1.FileName))
                    {
                        Bitmap ToLoad = new Bitmap(openFileDialog1.FileName);


                        if (ToLoad.Width > AnT.Width || ToLoad.Height > AnT.Height)
                        {
                            MessageBox.Show("Извините, но размер изображения превышает размеры области рисования", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Stop);

                            return;
                        }



                        ProgrammDrawingEngine = new anEngine(AnT.Width, AnT.Height, AnT.Width, AnT.Height);

                        ProgrammDrawingEngine.SetImageToMainLayer(ToLoad);


                        Слои.Items.Clear();



                        ActiveLayer = 0;

                        LayersCount = 1;

                        AllLayrsCount = 1;

                        Слои.Items.Add("Главный слой", true);
                    }
                }
                break;
            }

            case DialogResult.Cancel:
            {
                return;
            }

            case DialogResult.Yes:
            {
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    Bitmap ToSave = ProgrammDrawingEngine.GetFinalImage();

                    ToSave.Save(saveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Jpeg);


                    if (openFileDialog1.ShowDialog() == DialogResult.OK)
                    {
                        if (System.IO.File.Exists(openFileDialog1.FileName))
                        {
                            Bitmap ToLoad = new Bitmap(openFileDialog1.FileName);


                            if (ToLoad.Width > AnT.Width || ToLoad.Height > AnT.Height)
                            {
                                MessageBox.Show("Извините, но размер изображения превышает размеры области рисования", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Stop);

                                return;
                            }


                            ProgrammDrawingEngine = new anEngine(AnT.Width, AnT.Height, AnT.Width, AnT.Height);

                            ProgrammDrawingEngine.SetImageToMainLayer(ToLoad);

                            Слои.Items.Clear();

                            ActiveLayer = 0;

                            LayersCount = 1;

                            AllLayrsCount = 1;

                            Слои.Items.Add("Главный слой", true);
                        }
                    }
                    break;
                }
                else
                {
                    return;
                }


//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\\
            }
            }
        }