31849

Робота з растровою графікою у Visual Studio

Лабораторная работа

Информатика, кибернетика и программирование

До класу форми додати екземпляри малюнка та елемента управління рамки з малюнком PictureBox Bitmp imge1; PictureBox pictureBox1; 2. У конструкторі форми підготувати поле для розміщення зображення pictureBox1 = new PictureBox; pictureBox1.SizeMode = PictureBoxSizeMode.StretchImge; pictureBox1.

Русский

2013-09-01

56.5 KB

3 чел.

Лабораторна робота 1. Робота з растровою графікою у Visual Studio

Завдання 1 Поновити навички роботи з додатками Windows Forms у Visual Studio

1. Створити новий проект Windows Forms з власним іменем.

2. Знищити файл Form1.cs

3. Відредагувати файл Program.cs

 

using System;

using System.Windows.Forms;

namespace назва проекту

{

public class MyForm : System.Windows.Forms.Form

{

public MyForm()

{

}

[STAThread]

static void Main()

{

Application.Run(new MyForm());

}

}

}

Скомпілювати і запустити цей приклад

Ніяких реальних функцій – форма без заголовку, але це — Windows Forms.

При створенні класу MyForm використовується наслыдування. Наступний рядок оголошує

MyForm як спадкоємця System.Windows.Forms.Form:

public class MyForm : System.Windows.Forms.Form

Клас Form — один з головних класів в просторі імен System.Windows.Forms.

[STAThread]

static void Main()

{

Application.Run(new MyForm());

}

Main — точка входу за умовчанням в будь-яке клієнтське застосування на C#. Як правило, в масштабныших застосуваннях метод Main() не знаходитиметься в класі форми, а швидше в класі, що відповідає за процес запуску. В даному випадку слід встановити ім'я такого запускаючого класу в діалоговому вікні властивостей проекту.

Атрибут [STAThread]. -  встановлює модель багатопоточності COM в STA (однопоточний апартамент). Модель багатопоточності STA потрібна для взаємодії з COM і встановлюється за умовчанням в кожному проекті

Windows Forms.

Метод Application.Run() відповідає за запуск стандартного циклу повідомлень застосування.

Application.Run() має три перевантаження.

Перше з них не приймає параметрів; друге приймає як параметр об'єкт ApplicationContext. У нашому прикладі об'єкт MyForm стає головною формою додатку. Це означає, що коли форма закривається, той додаток закривається. Використовуючи клас ApplicationContext, можна контролювати завершення головного циклу повідомлень і вихід з додатку.

 

Завдання 2 . Вивести у  формі малюнок з зображенням водяних лілій із стандартних прикладів малюнків

2.1.Забезпечити використання простору імен System.Drawing, що містить більшість класів, структур, перерахувань і делегатів, які забезпечують базову функціональність малювання.

 

using System.Drawing;

2.2. До класу форми додати екземпляри малюнка та елемента управління – рамки з малюнком PictureBox

 

  Bitmap image1;

 PictureBox pictureBox1;

2.3. У конструкторі форми вказати розміри і заголовок вікна

            this.Text = "Водяні лілії";

            this.Size = new Size(302, 240);

2.4.. У конструкторі форми підготувати поле для розміщення зображення

 

            pictureBox1 = new PictureBox();

            pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

            pictureBox1.BorderStyle = BorderStyle.Fixed3D;

            pictureBox1.ClientSize = new Size(300, 196);

2.5. До проекту добати папку images, в яку скопіювати файл із зображенням лілій

2.6. У конструкторі форми добавити зображення в елемент PictureBox

 

            image1 = new Bitmap(@"../../images/Водяные лилии.jpg");

            pictureBox1.Image = (Image)image1;

 

            // Добавляємо PictureBox (с зображенням) на форму

 

            this.Controls.Add(pictureBox1);

Скомпілювати і запустити додаток

 

Завдання 3 .У текстовому редакторі створити файл із власним зображенням і помістити його на форму з відповідним написом у новому проекті з власним іменем і позначкою 2

Завдання 4. Створити форму, яка завантажує малюнок з вашим зображенням і після натиснення кнопки "flip" (Перевернути) дозволяє отримати її дзеркальне віддзеркалення, розташоване по горизонталі:

 

4.1. Створити проект , аналогічний створеному у 1 завданні з власним іменем і позначкою 3

 Відредагувати заготовку  порожньої форми наступним чином

4.2.Забезпечити використання простору імен System.Drawing, що містить більшість класів, структур, перерахувань і делегатів, які забезпечують базову функціональність малювання.

 

using System.Drawing;

4.3.  До класу форми додати екземпляри малюнка та елементів  – рамки з малюнком PictureBox і кнопки Button

 

Button button1;

  Bitmap image1;

  PictureBox pictureBox1;

 

4.4. . У конструкторі форми вказати розміри і заголовок вікна

    this.Text = "Поворот малюнка";

    this.Size = new Size(302, 240);

 

4.5. . Додати до конструктра форми елементи

 

    // Додаємо на форму кнопку

   

    button1 = new Button();

    button1.Text = "Поворот малюнка";

    button1.Location = new Point(100, 150);

    button1.Size = new Size(70, 40);

    button1.Click += new System.EventHandler(button1_Click);

    this.Controls.Add(button1);

   

    // Додаємо елемент PictureBox на форму

   

    pictureBox1 = new PictureBox();

    pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

    pictureBox1.BorderStyle = BorderStyle.Fixed3D;

    pictureBox1.ClientSize = new Size(300, 196);

   

    // Додаємо зображення в елемент PictureBox

   

    image1 = new Bitmap(@"../../images/назва вашого файлу.jpg");

    pictureBox1.Image = (Image)image1;

   

    // Додаємо на форму елемент PictureBox

   

    this.Controls.Add(pictureBox1);

 

4.6. До класу форми додати оОбробник події, що спрацьовує при натисненні кнопки

 

 

  void button1_Click(object sender, EventArgs e)

  {

    // Flip the image along the X axis (horizontally)

    image1.RotateFlip(RotateFlipType.RotateNoneFlipX);

   

    // Повторно вставляємо зображення в елемент PictureBox

    pictureBox1.Image = (Image)image1;

   

    // Оновлюємо заголовок вікна

    this.Text = "Малюнок після повороту!";

  }

 

4.7. Відкомпілювати і запустити проект

 

 

 

 

 

 

 


 

А также другие работы, которые могут Вас заинтересовать

15262. Преобразование координат из одной зоны в другую через геодезические координаты 19.21 KB
  Лабораторная работа № 1011 Преобразование координат из одной зоны в другую через геодезические координаты. Если даны координаты x1 и y1 пункта в 1 зоне и требуется определить координаты этого пункта в зоне 2 то преобразование координат через геодезические координаты пр...
15263. Вычисление и вычерчивание элементов математической основы топографической карты 574.14 KB
  Расчетнографическая работа № 1. Вычисление и вычерчивание элементов математической основы топографической карты. Содержание работы: 1По заданной номенклатуре топографической карты вычислить геодезические координаты углов ее рамки. 2Рассчитать длины сторон р
15265. ЭКСПЕРИМЕНТАЛЬНОЕ ПОСТРОЕНИЕ ОБЛАСТЕЙ УСТОЙЧИВОСТИ ЛИНЕЙНОЙ СИСТЕМЫ НА ПЛОСКОСТИ ДВУХ ПАРАМЕТРОВ. МЕТОДИЧКА 84.95 KB
  ЛАБОРАТОРНАЯ РАБОТА № 8 ЭКСПЕРИМЕНТАЛЬНОЕ ПОСТРОЕНИЕ ОБЛАСТЕЙ УСТОЙЧИВОСТИ ЛИНЕЙНОЙ СИСТЕМЫ НА ПЛОСКОСТИ ДВУХ ПАРАМЕТРОВ Цель работы. Ознакомление с экспериментальными методами построения областей устойчивости линейных динамических систем и изучение влияния на...
15266. ЭКСПЕРИМЕНТАЛЬНОЕ ПОСТРОЕНИЕ ОБЛАСТЕЙ УСТОЙЧИВОСТИ ЛИНЕЙНОЙ СИСТЕМЫ НА ПЛОСКОСТИ ДВУХ ПАРАМЕТРОВ 69.47 KB
  Лабораторная работа №8 ЭКСПЕРИМЕНТАЛЬНОЕ ПОСТРОЕНИЕ ОБЛАСТЕЙ УСТОЙЧИВОСТИ ЛИНЕЙНОЙ СИСТЕМЫ НА ПЛОСКОСТИ ДВУХ ПАРАМЕТРОВ Вариант №1 1. Цель работы. Ознакомление с экспериментальными методами построения областей устойчивости линейных динамических систем и изуче...
15267. ЭКСПЕРИМЕНТАЛЬНОЕ ПОСТРОЕНИЕ ЧАСТОТНЫХ ХАРАКТЕРИСТИК ТИПОВЫХ ДИНАМИЧЕСКИХ ЗВЕНЬЕВ 1.98 MB
  ЛАБОРАТОРНАЯ РАБОТА № 9 ЭКСПЕРИМЕНТАЛЬНОЕ ПОСТРОЕНИЕ ЧАСТОТНЫХ ХАРАКТЕРИСТИК ТИПОВЫХ ДИНАМИЧЕСКИХ ЗВЕНЬЕВ Цель работы. Изучение частотных характеристик типовых динамических звеньев и способов их построения. Методические рекомендации. До начала работы студенты д
15268. Экспериментальное построение частотных характеристик типовых динамических звеньев 160.34 KB
  Лабораторная работа №9 Экспериментальное построение частотных характеристик типовых динамических звеньев Вариант 1 Цель работы. Изучение частотных характеристик типовых динамических звеньев и способов их построения. Исследуемые звенья: 1. Апериодическ...
15269. ИССЛЕДОВАНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ ЭЛЕКТРОМЕХАНИЧЕСКОГО ОБЪЕКТА УПРАВЛЕНИЯ 2.5 MB
  ЛАБОРАТОРНАЯ РАБОТА № 10 ИССЛЕДОВАНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ ЭЛЕКТРОМЕХАНИЧЕСКОГО ОБЪЕКТА УПРАВЛЕНИЯ Цель работы. Изучение математических моделей и исследование характеристик электромеханического объекта управления построенного на основе электродвигателя пос...
15270. Построение математической модели электромеханического объекта управления 332 KB
  Лабораторная работа №10 Построение математической модели электромеханического объекта управления по курсу Теория управления вариант 1 Цель работы: изучение математических моделей и исследование характеристик электромеханического объекта управления пост...