Лабораторная работа №5
Задание:
1. Создать в программе Paint 6 файлов форма *.JPG и поместить в них квадраты следующих цветов: белый, синий, желтый, оранжевый, красный, зеленый.
2. Создать проект из одной формы.
3. Нарисовать на данной форме куб. Исходное положение куба – фасад – белый, верх – синий, правая сторона – красная (видны), левая сторона – желтая, низ – зеленый, задняя сторона – оранжевая (не видны).
4. Нанести на форму четыре кнопки с надписями: «Вверх», «Вниз», «Вправо», «Влево».
5. С помощью данных кнопок обеспечить поворот нарисованного куба в нужную сторону.
6. Предусмотреть возможность изменения размеров формы.
Текст программы:
Главная форма проекта:
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 Компьютерная_графика__5
{
public partial class Form1 : Form
{
Graphics g;
Image i1 = Image.FromFile(@"C:\Users\AngryLord\OneDrive\Рабочий стол\Учёба\ПИ,КГ\White.png");
Image i2 = Image.FromFile(@"C:\Users\AngryLord\OneDrive\Рабочий стол\Учёба\ПИ,КГ\Blue.png");
Image i3 = Image.FromFile(@"C:\Users\AngryLord\OneDrive\Рабочий стол\Учёба\ПИ,КГ\Orange.png");
Image i4 = Image.FromFile(@"C:\Users\AngryLord\OneDrive\Рабочий стол\Учёба\ПИ,КГ\Green.png");
Image i5 = Image.FromFile(@"C:\Users\AngryLord\OneDrive\Рабочий стол\Учёба\ПИ,КГ\Yellow.png");
Image i6 = Image.FromFile(@"C:\Users\AngryLord\OneDrive\Рабочий стол\Учёба\ПИ,КГ\Red.png");
Image S = Image.FromFile(@"C:\Users\AngryLord\OneDrive\Рабочий стол\Учёба\ПИ,КГ\Red.png");
Point ul = new Point(175, 75);
Point ur = new Point(324, 75);
Point ll = new Point(100, 100);
Point ul2 = new Point(250, 100);
Point ur2 = new Point(324, 75);
Point ll2 = new Point(250, 250);
public Form1()
{
InitializeComponent();
g = this.CreateGraphics();
Point[] dp = { ul, ur, ll };
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
Point[] dp = { ul, ur, ll };
Point[] dp2 = { ul2, ur2, ll2 };
g.DrawImage(i1, 100, 100, 150, 150);
g.DrawImage(i2, dp);
g.DrawImage(i6, dp2);
}
private void button1_Click(object sender, EventArgs e)
{
Point[] dp = { ul, ur, ll };
Point[] dp2 = { ul2, ur2, ll2 };
S = i3;
i3 = i2;
i2 = i1;
i1 = i4;
i4 = S;
g.DrawImage(i1, 100, 100, 150, 150);
g.DrawImage(i2, dp);
g.DrawImage(i6, dp2);
}
private void button2_Click(object sender, EventArgs e)
{
Point[] dp = { ul, ur, ll };
Point[] dp2 = { ul2, ur2, ll2 };
S = i5;
i5 = i1;
i1 = i6;
i6 = i3;
i3 = S;
g.DrawImage(i1, 100, 100, 150, 150);
g.DrawImage(i2, dp);
g.DrawImage(i6, dp2);
}
private void button3_Click(object sender, EventArgs e)
{
Point[] dp = { ul, ur, ll };
Point[] dp2 = { ul2, ur2, ll2 };
S = i3;
i3 = i6;
i6 = i1;
i1 = i5;
i5 = S;
g.DrawImage(i1, 100, 100, 150, 150);
g.DrawImage(i2, dp);
g.DrawImage(i6, dp2);
}
private void button4_Click(object sender, EventArgs e)
{
Point[] dp = { ul, ur, ll };
Point[] dp2 = { ul2, ur2, ll2 };
S = i4;
i4 = i1;
i1 = i2;
i2 = i3;
i3 = S;
g.DrawImage(i1, 100, 100, 150, 150);
g.DrawImage(i2, dp);
g.DrawImage(i6, dp2);
}
}
}
Контрольный пример:
Образец главной формы проекта:
Результат работы кнопки Вверх:
Результат работы кнопки Влево:
Результат работы кнопки Вниз:
Результат работы кнопки Вправо: