ToString
|
Инфраструктура. Возвращает строку, представляющую Timer
Работа с графикой весьма трудоёмкий
и при этом интересный процесс. Средствами GDI+ этот процесс
максимально упрощается и облегчается. Визуализация графических данных
средствами GDI+ позволяет расширять функциональные возможности Windows Forms, а именно улучшить
дизайн интерфейсов как Web, так и Windows-приложений.
В результате выполнения данной
курсовой работы:
-произведён обзор
пространства имён GDI+, System. Drawing,
System. Drawing. Drawing2D;
-изучены типы и классы
пространства имён System. Drawing;
-приобретены практические
умения создания анимации графических
объектов;
-разработано демонстрационное
графическое Windows-приложение
«Созвездие», которое может быть
использовано в астрономии, при
изучении созвездий.
Анимацию графический объектов можно
представить тремя способами, один из которых был применён в практической части.
Кроме того, были рассмотрели многочисленные возможности объекта Graphics и
приемы работы с ним.
Цель и задачи курсовой работы были
выполнены.
Литература
1. Троелсен, Э. Язык программирования С# 2005 и платформа.NET 2.0
/ Э. Троелсен. - 3-е издание. - Москва-Санкт-Петербург-Киев: Издательский дом
«Вильямс», 2007. - 1168 с.
. Шилдт, Г. Полный справочник по С# / Г. Шилдт. - Москва: Санкт-Петербург; Киев:
Издательский дом «Вильямс», 2006. -
750 с.
3. Прайс, Дж. Visual C#.NET/ Дж. Прайс, М. Гандерлой - Полное
руководство. - Киев: ВЕК, Санкт-Петербург: КОРОНА, 2004. - 960 с.
Приложение
Графическое Windows-приложение «Созвездие»
Главное окно приложения (рис. 1):
using
System;System. Collections. Generic;System. ComponentModel;System. Data;System.
Drawing;System. Linq;System. Text;System. Threading. Tasks;System. Windows.
Forms;
звёзды
{partial
class Form1: Form
{Form1
()
{();
}
void
button1_Click (object sender, EventArgs e)
{.
Hide();Ob = new Form2 ();. ShowDialog();
}void
button4_Click (object sender, EventArgs e)
{Rez =
MessageBox. Show («Выйти из приложения», «Окно выхода», MessageBoxButtons. YesNo);
{(Rez
== DialogResult. Yes). Exit();
}
}
void
button2_Click (object sender, EventArgs e)
{.
Hide();Ob = new Form3 ();. ShowDialog();
}
void
button3_Click (object sender, EventArgs e)
{.
Hide();Ob = new Form4 ();. ShowDialog();
}
void
button5_Click (object sender, EventArgs e)
{
this.
Hide();Ob = new Form5 ();. ShowDialog();
}void
Form1_Load (object sender, EventArgs e)
{
}
void
button6_Click (object sender, EventArgs e)
{.
Hide();Ob = new Form6 ();
Ob. ShowDialog();
}
}
}
Рисунок 1
Фрагмент программного кода для
создания анимации созвездия «Дева» (рис. 2):
using System;
using
System. Collections. Generic;System. ComponentModel;System. Data;System.
Drawing;System. Linq;System. Text;System. Threading. Tasks;System. Windows.
Forms;
звёзды
{partial
class Form2: Form
{.
Drawing. Bitmap poln, poln1, poln2, poln3, poln4, poln5, poln6, poln7;
//
Graphics g;
Form2
()
{();.
Paint += pictureBox1_Paint;
}pictureBox1_Paint
(object sender, PaintEventArgs e)
{(e);
}void
Form2_Load (object sender, EventArgs e)
{
}rand =
new Random();timer1 = new Timer();DrawStars (PaintEventArgs e)
{
.
Graphics. Clear (Color. Black);
{(int
x0 = 10; x0 < e. ClipRectangle. Width; x0 = x0 + 9)
{y0;=
rand. Next (0, 524);
double
alpha = 0; // поворот
// центр
[]
points = new PointF [2 * n + 1];a = alpha, da = Math.PI / n, l;
(int k
= 0; k < 2 * n + 1; k++)
{
= k% 2
== 0? r: R;[k] = new PointF((float) (x0 + l * Math. Cos(a)), (float) (y0 + l *
Math. Sin(a)));+= da;
}
.
Graphics. DrawLines (Pens. Blue, points);. Start();. Interval = 5000;
.
Enabled = true;
}
}
}
void
pictureBox1_Click (object sender, EventArgs e)
{g =
pictureBox1. CreateGraphics();. Clear (Color. Black);
}
void
button1_Click (object sender, EventArgs e)
{
.
Enabled = false;pero = new Pen (Color. Yellow, 2);f = pictureBox1.
CreateGraphics();. DrawLine (pero, 85, 240, 125, 200); // первая линия. DrawLine (pero, 125, 200, 185, 170); // 2.
DrawLine (pero, 185, 170, 230, 170); // 3. DrawLine (pero, 230, 170, 280, 160);
// 4. DrawLine (pero, 280, 160, 295, 120); // 5. DrawLine (pero, 125, 200, 80,
140);. DrawLine (pero, 185, 170, 160, 130);. DrawLine (pero, 160, 130, 155,
90);mySe = new SolidBrush (Color. Yellow);. DrawEllipse (pero, 82, 238, 7, 7);.
FillEllipse (mySe, 82, 238, 7, 7);. DrawEllipse (pero, 123, 197, 5, 5);.
FillEllipse (mySe, 123, 197, 5, 5);. DrawEllipse (pero, 80, 140, 5, 5);.
FillEllipse (mySe, 80, 140, 5, 5);. DrawEllipse (pero, 159, 130, 5, 5);.
FillEllipse (mySe, 159, 130, 5, 5);. DrawEllipse (pero, 154, 90, 6, 6);.
FillEllipse (mySe, 154, 90, 6, 6);. DrawEllipse (pero, 183, 167, 5, 5);.
FillEllipse (mySe, 183, 167, 5, 5);. DrawEllipse (pero, 230, 167, 5, 5);.
FillEllipse (mySe, 230, 167, 5, 5);. DrawEllipse (pero, 279, 157, 5, 5);.
FillEllipse (mySe, 279, 157, 5, 5);. DrawEllipse (pero, 293, 120, 5, 5);.
FillEllipse (mySe, 293, 120, 5, 5);
}
void
button2_Click (object sender, EventArgs e)
{.
Hide();Ob = new Form1 ();. ShowDialog();
}void
button3_Click (object sender, EventArgs e)
{Rez =
MessageBox. Show («Выйти из приложения», «Окно выхода», MessageBoxButtons. YesNo);
{(Rez
== DialogResult. Yes). Exit();
}
}
i;void
timer3_Tick (object sender, EventArgs e)
{(i ==
0)
{= 1;=
new Bitmap (new Bitmap (new Bitmap («D:// работы // курсовая
// Для Лазовской В // Луна // 1.bmp»), 50, 50));
.
MakeTransparent();. Image = (poln);
}(i ==
1)
{= 2;=
new Bitmap (new Bitmap (new Bitmap («D:// работы // курсовая
// Для Лазовской В // Луна // 2.bmp»), 50, 50));. MakeTransparent();. Image = (poln2);
}(i ==
2)
{= 3;=
new Bitmap (new Bitmap (new Bitmap («D:// работы // курсовая
// Для Лазовской В // Луна // 3.bmp»), 50, 50));. MakeTransparent();. Image = (poln3);
}(i ==
3)
{= 4;=
new Bitmap (new Bitmap (new Bitmap («D:// работы // курсовая
// Для Лазовской В // Луна // 4.bmp»), 50, 50));. MakeTransparent();. Image = (poln4);
}(i == 4)
{= 5;
= new Bitmap (new
Bitmap (new Bitmap («D:// работы // курсовая // Для Лазовской В // Луна //
5.bmp»), 50, 50));. MakeTransparent();
pictureBox2.
Image = (poln1);
}(i ==
5)
{= 6;=
new Bitmap (new Bitmap (new Bitmap («D:// работы // курсовая
// Для Лазовской В // Луна // 6.bmp»), 50, 50));. MakeTransparent();. Image = (poln5);
}(i == 6)
{= 7;
= new Bitmap (new
Bitmap (new Bitmap («D:// работы // курсовая // Для Лазовской В // Луна //
7.bmp»), 50, 50));
poln6.
MakeTransparent();. Image = (poln6);
}(i ==
7)
{= 0;=
new Bitmap (new Bitmap (new Bitmap («D:// работы // курсовая
// Для Лазовской В // Луна // 8.bmp»), 50, 50));. MakeTransparent();. Image = (poln7);
}
}pero =
new Pen (Color. Yellow, 2);pero1 = new Pen (Color. Black, 2);k=0;void
timer2_Tick (object sender, EventArgs e)
{f = pictureBox1.
CreateGraphics();
(k ==
0)
{= 1;=
new Pen (Color. White, 4);. DrawLine (pero1, 85, 240, 125, 200); // первая линия. DrawLine (pero1, 125, 200, 185, 170); // 2.
DrawLine (pero1, 185, 170, 230, 170); // 3. DrawLine (pero1, 230, 170, 280,
160); // 4. DrawLine (pero1, 280, 160, 295, 120); // 5. DrawLine (pero1, 125,
200, 80, 140);
f. DrawLine (pero1,
185, 170, 160, 130);
f.
DrawLine (pero1, 160, 130, 155, 90);mySe1 = new SolidBrush (Color. White);.
DrawEllipse (pero, 82, 238, 7, 7);. FillEllipse (mySe1, 82, 238, 7, 7);.
DrawEllipse (pero, 123, 197, 5, 5);. FillEllipse (mySe1, 123, 197, 5, 5);.
DrawEllipse (pero, 80, 140, 5, 5);. FillEllipse (mySe1, 80, 140, 5, 5);.
DrawEllipse (pero, 159, 130, 5, 5);. FillEllipse (mySe1, 159, 130, 5, 5);.
DrawEllipse (pero, 154, 90, 6, 6);. FillEllipse (mySe1, 154, 90, 6, 6);
f. DrawEllipse
(pero, 183, 167, 5, 5);
f.
FillEllipse (mySe1, 183, 167, 5, 5);. DrawEllipse (pero, 230, 167, 5, 5);
f. FillEllipse
(mySe1, 230, 167, 5, 5);
f.
DrawEllipse (pero, 279, 157, 5, 5);. FillEllipse (mySe1, 279, 157, 5, 5);.
DrawEllipse (pero, 293, 120, 5, 5);. FillEllipse (mySe1, 293, 120, 5, 5);
}(k==
1)
{= 0;
= new
Pen (Color. Tomato, 4);. DrawLine (pero, 85, 240, 125, 200); // первая линия. DrawLine (pero, 125, 200, 185, 170); // 2.
DrawLine (pero, 185, 170, 230, 170); // 3. DrawLine (pero, 230, 170, 280, 160);
// 4
f. DrawLine (pero,
280, 160, 295, 120); // 5
f.
DrawLine (pero, 125, 200, 80, 140);. DrawLine (pero, 185, 170, 160, 130);. DrawLine
(pero, 160, 130, 155, 90);mySe = new SolidBrush (Color. Tomato);. DrawEllipse
(pero, 82, 238, 7, 7);. FillEllipse (mySe, 82, 238, 7, 7);
f. DrawEllipse
(pero, 123, 197, 5, 5);
f.
FillEllipse (mySe, 123, 197, 5, 5);. DrawEllipse (pero, 80, 140, 5, 5);.
FillEllipse (mySe, 80, 140, 5, 5);. DrawEllipse (pero, 159, 130, 5, 5);.
FillEllipse (mySe, 159, 130, 5, 5);. DrawEllipse (pero, 154, 90, 6, 6);.
FillEllipse (mySe, 154, 90, 6, 6);. DrawEllipse (pero, 183, 167, 5, 5);.
FillEllipse (mySe, 183, 167, 5, 5);. DrawEllipse (pero, 230, 167, 5, 5);.
FillEllipse (mySe, 230, 167, 5, 5);. DrawEllipse (pero, 279, 157, 5, 5);.
FillEllipse (mySe, 279, 157, 5, 5);. DrawEllipse (pero, 293, 120, 5, 5);
f. FillEllipse
(mySe, 293, 120, 5, 5);
}
}
}
Рисунок 2
Похожие работы на - Анимация объектов в диалоговых Windows-приложениях, способы создания
|