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. Відкомпілювати і запустити проект

 

 

 

 

 

 

 


 

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

38985. ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ СОЛНЕЧНЫХ КОЛЛЕКТОРОВ С ВАКУУМИРОВАННЫМИ СТЕКЛОПАКЕТАМИ 2.09 MB
  ИССЛЕДОВАНИЕ ПЛОСКИХ СОЛНЕЧНЫХ КОЛЛЕКТОРОВ С ВАКУУМИРОВАННЫМИ СТЕКЛОПАКЕТАМИ Методика расчета солнечного коллектора с вакуумированным стеклопакетом Тепловой баланс солнечного коллектора с вакуумированным стеклопакетом Зависимость коэффициента теплопроводности разреженного газа от давления в вакуумном зазоре ВСП Расчет характеристик вакуумированных стеклопакетов обеспечивающих повышение эффективности солнечных коллекторов Экспериментальное исследование макета солнечного коллектора с...
38989. Численные методы 2.17 MB
  Из полученных данных видно, что метод подобластей имеет наилучший результат вычислений из всех остальных методов. Во-первых, даже при небольшом количестве разбиений он дал точность на 2 порядка лучше, чем второй по полученной точности метод Галеркина. Во-вторых, точность при количестве дискрет n=12 уже не укладывалась в разрядную сетку персонального компьютера.
38990. Икона Рождества Христова 33 KB
  Зубок с указкой в руке стоит у доски показывая на иллюстрации Рождественских событий Зубок: Ребята сегодня я буду учителем. Отвечайте на мои вопросы: Кто изображен на этом рисунке Родившийся МладенецХристос Зубок: Кто явился пастухам на поле Ангел Зубок: Какую весть принес ангел Что родился Бог в пещере Зубок: Кто едет на верблюдах по пустыне Звездочеты с дарами Зубок: Что привезли волхвы в подарок Иисусу Христу Золото ладан и смирну Зубок: Здорово мне нравиться быть учителем Матильда Леонардовна: Здравствуйте ребята...
38991. Совинформ. Праздник Крещения Господня – Богоявление 33 KB
  Беседа жителей Шишкиного леса Шуня раскладывает сувенирчики Енот Енотович приносит баночки с водой. Шуня: Какая я счастливая сколько мне подарков на святках подарили Енот Енотович: А ты Шунечка дарила другим радость в эти святые дни Шуня: Да конечно только не могу вам рассказать что и кому а то Матильда Леонардовна говорит что я все свои добрые дела растеряю. Шуня: Здорово что есть Господь которому можно доверить все свои тайны А что это у вас в руках за тайна такая Енот Енотович: Никакая это ни тайна а просто вода. Шуня: А...
38992. Притча о неразумном богаче. Советы Енота Енотовича. Думай о других 35.5 KB
  Советы Енота Енотовича. Оборудование: иллюстрации к притчам о добром самарянине неразумном богаче куклы котенка Коксика Енота Енотовича. Чему же хотел научить нас Господь Был ли жадным богач Какое решение он принял когда собрал большой урожай Смог ли он насладиться своим богатством что случилось с ним Советы Енота Енотовича: Думай о других. Коксик: Енот Енотыч Енот Енотыч закричал котенок вбегая в комнату.
38993. Сретение Господне 35 KB
  Шуня: Тетушка Матильда что еще сделать Матильда Леонардовна: Вещи все сложила на место Шуня: Да. Матильда Леонардовна: Игрушки все убрала Шуня: Конечно. Матильда Леонардовна: Пыль везде вытерла Шуня: Вездевезде Матильда Леонардовна: Тогда принеси мне пожалуйста связку свечей из тумбочки. Зубок: Ухты как у нас чисто и красиво А что у нас завтра праздник какойто Может день рождения у когото Шуня: А вот и нет а вот и не угадал Совсем не день рождения Зубок: А к чему это вы так готовитесь Матильда Леонардовна: Открываем...