Построение и обработка графических объектов

Автор работы: Пользователь скрыл имя, 27 Мая 2013 в 04:20, курсовая работа

Описание работы

В настоящее время рынок программного обеспечения переполнен различными программами и редакторами, позволяющими обрабатывать и редактировать цифровые фото. Человеку, не слишком хорошо понимающему особенности тех или иных программных средств, порой очень сложно разобраться в этом многообразии софта. Однако, правильный выбор программных средств для решения конкретной задачи по обработке фотоснимков является одним из залогов успеха получения законченных фотографий.

Содержание работы

Введение……………………………………………………………………… 5
1 Аналитический обзор литературы 7
2 Разработка алгоритма ………………………………………………………. 9
3 Разработка программного стредства 11
3.1 Описание классов 11
3.2 Диаграмма классов…………………………………………………… 16
4 Обоснование технических приемов программирования 18
5 Тестрование, эксперементальные исследования и анализ полученных результатов………………………………………………………………………...19
6 Руководство пользователя………………………………………………………28
Заключение 33
Список литературы 34
Приложение листинг программы……………..……………………………....35
Ведомость…………………………………………………………………….....

Файлы: 1 файл

Курсовая работа Каханович Артур.docx

— 861.97 Кб (Скачать файл)

        }

 

        private void blackToolStripMenuItem_Click(object sender, EventArgs e)

        {

            if (shapeIsPicked)

            {

                currentShape.SetPenColor(new Pen(Color.Black));

                dr_objects();

            }

            else

                current_pen.Color = Color.Black;

        }

 

        private void redToolStripMenuItem_Click(object sender, EventArgs e)

        {

            if (shapeIsPicked)

            {

                currentShape.SetPenColor(new Pen(Color.Red));

                dr_objects();

            }

            else

                current_pen.Color = Color.Red;

        }

 

        private void allToolStripMenuItem_Click(object sender, EventArgs e)

        {

            ColorDialog MyDialog = new ColorDialog();

            if (MyDialog.ShowDialog() == DialogResult.OK)

 

                if (shapeIsPicked)

                {

                    currentShape.SetPenColor(new Pen(MyDialog.Color));

                    dr_objects();

                }

                else

                    current_pen.Color = MyDialog.Color;

        }

 

        private void Addmyshape_Click(object sender, EventArgs e)

        {

            designerWindow = new Designer(this);

            designerWindow.ShowDialog();

        }

 

        public void AddBuilderAndMenuItem(string itemName/*, ComboBox DD, List<ShapeBuilder> list_of_builders*/, List<Shape> list_of_Shapes)

        {

            foreach (string DDitem in DD.Items)

            {

                if (DDitem == itemName)

                    itemName = "New " + itemName;

            }

            UserShapeBuilder createUserShape = new UserShapeBuilder();

            createUserShape.SaveNameandList(itemName, list_of_Shapes);

            list_of_builders.Add(createUserShape);

            DD.Items.Add(itemName);

            SerializeUserBuilder(createUserShape);

        }

 

        private void SerializeUserBuilder(UserShapeBuilder fromCreateUserShape)

        {

                XmlSerializer xs = new XmlSerializer(typeof(UserShapeBuilder));

                Stream writer = new FileStream(fromCreateUserShape.namebuilder + ".xml", FileMode.Create);

                xs.Serialize(writer, fromCreateUserShape);

                writer.Close();

        }

 

        private void DD_SelectedIndexChanged(object sender, EventArgs e)

        {

            //label2.Text = DD.Text;

            createShape = list_of_builders.Find(item => item.namebuilder == DD.Text);

            ShapeStripMenuItem.HideDropDown();

            isItTool = false;

            this.Cursor = Cursors.Cross;

           

        }

 

        private void loadMyShapeToolStripMenuItem_Click(object sender, EventArgs e)

        {

            try

            {

                OpenFileDialog openfiledialog = new OpenFileDialog();

                openfiledialog.Filter = "txt files (*.xml)|*.xml";

                if (openfiledialog.ShowDialog() == DialogResult.OK)

                    DeserializeBuilder(openfiledialog.FileName);

            }

            catch (Exception)

            {

                MessageBox.Show("Pick valid file", "Error");

            }

        }

 

        private void DeserializeBuilder(string filename)

        {

            UserShapeBuilder createUserShape = new UserShapeBuilder();

            XmlSerializer xs = new XmlSerializer(typeof(UserShapeBuilder));

            Stream reader = new FileStream(filename, FileMode.Open);

            createUserShape = (UserShapeBuilder)xs.Deserialize(reader);

            reader.Close();

            list_of_builders.Add(createUserShape);

            DD.Items.Add(createUserShape.namebuilder);

        }

 

 

 

        private void undoToolStripMenuItem_Click(object sender, EventArgs e)

        {

            list_of_Shapes = managerUndoRedo.Undo();

            grph.Clear(Color.White);

            dr_objects();

        }

 

        private void redoToolStripMenuItem_Click(object sender, EventArgs e)

        {

            list_of_Shapes = managerUndoRedo.Redo();

            grph.Clear(Color.White);

            dr_objects();

        }

 

        private void saveImageToolStripMenuItem_Click(object sender, EventArgs e)

        {

            SaveFileDialog savefiledialog = new SaveFileDialog();

            if (savefiledialog.ShowDialog() == DialogResult.OK)

            {

 

                managerUndoRedo.SaveMementoes(savefiledialog.FileName);

            }

        }

 

        private void loadMyImageToolStripMenuItem_Click(object sender, EventArgs e)

        {

            try

            {

                OpenFileDialog openfiledialog = new OpenFileDialog();

                openfiledialog.Filter = "txt files (*.xml)|*.xml";

                if (openfiledialog.ShowDialog() == DialogResult.OK)

                    list_of_Shapes = managerUndoRedo.LoadMementoes(openfiledialog.FileName);

                grph.Clear(Color.White);

                dr_objects();

            }

            catch (Exception)

            {

                MessageBox.Show("Pick valid file", "Error");

            }

        }

 

        private void paletteToolStripMenuItem_Click(object sender, EventArgs e)

        {

            ColorDialog MyDialog = new ColorDialog();

            if (MyDialog.ShowDialog() == DialogResult.OK)

 

                if (shapeIsPicked)

                {

                    currentShape.SetPenColor(new Pen(MyDialog.Color));

                    dr_objects();

                }

                else

                    current_pen.Color = MyDialog.Color;

 

        }

 

        private void newToolStripMenuItem_Click(object sender, EventArgs e)

        {

            grph.Clear(Color.White);

            managerUndoRedo = new ManagerUndoRedo();

            managerUndoRedo.ClearStack();

            list_of_Shapes.Clear();

            managerUndoRedo.AddNewCurrentState(list_of_Shapes);

        }

       

        private void rectangleBox_CheckedChanged(object sender, EventArgs e)

        {

            createShape = createRectangle;

            isItTool = false;

            this.Cursor = Cursors.Cross;

        }

 

        private void ellipseBox_CheckedChanged(object sender, EventArgs e)

        {

            createShape = createCircle;

            isItTool = false;

            this.Cursor = Cursors.Cross;

        }

 

        private void triangleBox_CheckedChanged(object sender, EventArgs e)

        {

            createShape = createTriangle;

            isItTool = false;

            this.Cursor = Cursors.Cross;

        }

 

        private void lineBox_CheckedChanged(object sender, EventArgs e)

        {

            createShape = createLine;

            isItTool = false;

            this.Cursor = Cursors.Cross;

        }

 

 

 

        private void deleteShapeToolStripMenuItem_Click(object sender, EventArgs e)

        {

            List<Shape> tmpList_of_Shapes = new List<Shape>();

            foreach (var shape in list_of_Shapes)

            {

                if (shape != currentShape)

                {

                    tmpList_of_Shapes.Add(shape);

                }

            }

            list_of_Shapes.Clear();

            list_of_Shapes = tmpList_of_Shapes;

            managerUndoRedo.AddNewCurrentState(list_of_Shapes);

            grph.Clear(Color.White);

            dr_objects();

        }

 

        private void pencilBox_CheckedChanged(object sender, EventArgs e)

        {

            createShape = createPencil;

            isItTool = true;

            this.Cursor = SetCursor.LoadCustomCursor(Application.StartupPath + @"\aero_pen.cur");

        }

 

        private void eraseBox_CheckedChanged(object sender, EventArgs e)

        {

            createShape = createErase;

            isItTool = true;

            this.Cursor = SetCursor.LoadCustomCursor(Application.StartupPath + @"\lastik.cur");

        }

 

 

        private void fToolStripMenuItem_Click(object sender, EventArgs e)

        {

            current_pen.Width = 1.0F;

        }

 

        private void fToolStripMenuItem1_Click(object sender, EventArgs e)

        {

            current_pen.Width = 2.0F;

        }

 

        private void fToolStripMenuItem2_Click(object sender, EventArgs e)

        {

            current_pen.Width = 3.0F;

        }

 

        private void fToolStripMenuItem3_Click(object sender, EventArgs e)

        {

            current_pen.Width = 4.0F;

        }

 

        private void fToolStripMenuItem4_Click(object sender, EventArgs e)

        {

            current_pen.Width = 5.0F;

        }

    }

}

 

 

 

 

 

 

 

Обозначение

Наименование

Дополнительные сведения

 

Текстовые документы

 
     

БГУИР КП 1–40 01 01 415 ПЗ

Пояснительная записка

 
     
     
 

Графические документы

 
     

ГУИР 051004 .415 ПД

Блок-схема алгоритма метода обрабатывающего движение мыши

Формат А1

     

ГУИР 051004. 415 ПД

Блок-схема алгоритма методов Undo и Redo

Формат А4

     
     
     
     
     
     
     
     
     
     
     
     
     
         

 

ГУИР 051004

         
         

 Изм.

Л.

№ докум.

Подп.

Дата

 

 

Построение и обработка  графических объектов

Ведомость курсового  
проекта

 

Лист

Листов

Разраб.

Каханович А.Ю.

   

 Т

   

55

55

Пров.

  Шостак Е.В.

   

Кафедра ПОИТ

гр. 051004

       
       
       

 


Информация о работе Построение и обработка графических объектов