Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт по лабораторным.docx
Скачиваний:
0
Добавлен:
18.11.2022
Размер:
553.87 Кб
Скачать

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

Задание:

1. Создать проект из одной формы, на которую нанести один элемент PictureBox, две кнопки и таймер.

2. Снабдить кнопки надписями «Старт» и «Стоп».

3. Выбрать один из графических файлов компьютера и загрузить изображение из этого файла в элемент PictureBox.

4. Установить интервал срабатывания таймера, равный 10 мс.

5. С помощью кнопки «Старт» и таймера запрограммировать динамическое изменение размеров изображения в диапазоне от (0,0) до максимального размера формы и обратно с шагом 1.

6. С помощью кнопки «Стоп» запрограммировать остановку процесса изменения изображения.

7. Предусмотреть ситуацию, что кнопки «Старт» и «Стоп» не могут быть доступны пользователю одновременно.

Текст программы:

Главная форма проекта:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace Компьютерная_графика__1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

timer1.Start();

}

private void button2_Click(object sender, EventArgs e)

{

timer1.Stop();

timer2.Stop();

}

private void timer1_Tick(object sender, EventArgs e)

{

if (pictureBox1.Size.Width<this.Size.Width)

{

pictureBox1.Size = new Size(pictureBox1.Size.Width + 1,pictureBox1.Size.Height);

}

if (pictureBox1.Size.Height<this.Size.Height)

{

pictureBox1.Size = new Size(pictureBox1.Size.Width, pictureBox1.Size.Height + 1);

}

if (pictureBox1.Size.Width==this.Size.Width&&pictureBox1.Size.Height==this.Size.Height)

{

timer1.Stop();

timer2.Start();

}

}

private void timer2_Tick(object sender, EventArgs e)

{

if (pictureBox1.Size.Width > 0)

{

pictureBox1.Size = new Size(pictureBox1.Size.Width - 1, pictureBox1.Size.Height);

}

if (pictureBox1.Size.Height > 0)

{

pictureBox1.Size = new Size(pictureBox1.Size.Width, pictureBox1.Size.Height - 1);

}

if (pictureBox1.Size.Width ==0 && pictureBox1.Size.Height ==0)

{

timer2.Stop();

timer1.Start();

}

}

}

}

Контрольный пример:

Образец главной формы проекта:

Результат работы таймера:

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

Задание:

1. Создать проект из одной формы, на которую нанести один элемент PictureBox, две кнопки, таймер, ImageList, метку и ComboBox.

2. С помощью метки нанести на форму текст «Выберите частоту смены изображения».

3. В элемент ComboBox ввести значения интервалов срабатывания таймера: 0,01 с, 0,1 с, 1 с, 1,5 с, 2 с (можно ввести больше значений).

4. Снабдить кнопки надписями: «Начать показ» и «Остановить показ».

5. Загрузить в элемент ImageList заранее подготовленный файлы изображений.

6. С помощью кнопки «Начать показ» и таймера запрограммировать динамическую смену изображений в элементе PictureBox, загружая туда очередное изображение из ImageList (т.е. создать эффект слайд-шоу или анимации).

7. С помощью кнопки «Остановить показ» запрограммировать остановку анимации в элементе PictureBox на текущем кадре.

8. С помощью элемента ComboBox запрограммировать изменение частоты смены изображения.

9. Предусмотреть ситуацию, что кнопки «Остановить показ» и «Начать показ» не могут быть доступны пользователю одновременно.

Текст программы:

Главная форма проекта:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace Компьютерная_графика__2

{

public partial class Form1 : Form

{

int img = -1;

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

button2.Enabled = true;

button1.Enabled = false;

timer1.Start();

}

private void button2_Click(object sender, EventArgs e)

{

button2.Enabled = false;

button1.Enabled = true;

timer1.Stop();

}

private void timer1_Tick(object sender, EventArgs e)

{

img = img + 1;

pictureBox1.Image = imageList1.Images[img];

if (img == 5)

{

img = -1;

}

}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{

if (comboBox1.SelectedIndex == 0)

{

timer1.Interval = 1;

}

if (comboBox1.SelectedIndex == 1)

{

timer1.Interval = 10;

}

if (comboBox1.SelectedIndex == 2)

{

timer1.Interval = 100;

}

if (comboBox1.SelectedIndex == 3)

{

timer1.Interval = 150;

}

if (comboBox1.SelectedIndex == 4)

{

timer1.Interval = 200;

}

}

}

}

Контрольный пример:

Образец главной формы проекта:

Результат работы таймера: